Exemple de interogări complexe pentru preluarea datelor în subdomeniul mysql, blog specializat în acesta

Doar câțiva ani în urmă, într-un proiect care prevede lucrul cu bazele de date și statistici de construcție, abundența principal utilizat în SQL-interogări, dominat cea mai mare parte mai multe solicitări care vizează o prelevare de probe predefinite și rar pot vedea cealaltă, care, fără nici o îndoială poate fi ar fi atribuită "exclusivității". Deși complexitatea interogare, în funcție de numărul de mese, dar dacă am lua și câmpuri de date de ieșire din trei sau mai multe tabele cu asocierea standard, complexitatea mare de o astfel de cerere nu depășește standardul.







În acest articol, pe cât posibil, aceste solicitări vor fi luate în considerare, exemple de care nu am putut găsi și care, în opinia mea, nu fac parte din clasa celor simple.

Compararea datelor pentru două date

Deși această statistică a sarcinilor este rar întâlnită, dar uneori există uneori necesitatea acesteia. Și pentru a obține astfel de statistici nu este deloc mai dificilă decât altele.

Vom lucra cu două mese, structura cărora este prezentată mai jos:

Structura tabelului produselor

Structura tabelului statistic

Faptul este că standardul de limbă SQL permite utilizarea interogărilor imbricate oriunde este permisă utilizarea referințelor de tabel. Aici, în loc de tabele specificate explicit, din cauza utilizării de pseudonime, se vor aplica tabelele rezultate ale interogărilor imbricate cu relația unu-la-unu disponibilă. Rezultatul fiecărui tabel de rezultate va fi date privind numărul de comenzi făcute pentru un anumit produs pentru o anumită dată, obținut prin executarea unei interogări pentru a prelua datele din tabelul cu statistici conform criteriilor cerute. Cu alte cuvinte, vom lega tabelul de statistici cu noi înșine. Exemplu de interogare:







Ca rezultat, avem următorul rezultat:

Înlocuirea mai multor valori dintr-un alt tabel

Necesitatea acestei interogări nu este de zi cu zi, dar nu se întâmplă foarte rar. Cel mai frecvent exemplu este jocul de rețea obișnuit. În cazul în care este creată o sesiune pentru doi jucători. În consecință, în tabelul cu datele despre jocuri există două câmpuri cu identificatori ai jucătorilor înregistrați. Pentru a afișa informații despre jocurile disponibile, nu putem să facem combinația standard a tabelului cu datele despre jucători și despre tabelele despre jocurile disponibile. Deoarece avem două câmpuri cu identificatori ai anumitor jucători. Dar ne putem întoarce din nou pentru a ajuta la aliasurile meselor.

Demonstrația acestei solicitări va avea loc într-un alt exemplu, mai degrabă decât în ​​exemplul unui joc de rețea. Aceasta este pentru a nu recrea toate mesele necesare. Ca date luăm tabelul de produse din exemplul "compararea datelor pentru două date" și pentru a crea un alt tabel replace_com lipsă. a cărui structură este prezentată mai jos:

Să presupunem că avem un salon de calculator și efectuăm modificări ale unor componente ale computerului, iar toate operațiunile de înlocuire a componentelor sunt înregistrate în baza de date. În tabela replace_com, câmpurile care ne interesează sunt: ​​sProductID și rProductID. Unde sProductID este identificatorul modulului înlocuit și rProductID este identificatorul modulului de înlocuire. Interogarea care implementează datele de ieșire a datelor despre tranzacțiile efectuate este după cum urmează:

Rezultat tabel de date:

Statistici de ieșire cu acumulare după dată

Să presupunem că avem un depozit cu anumite bunuri. Bunurile vin din când în când și ne-ar plăcea să vedem restul bunurilor în zilele din raport. Deoarece datele despre disponibilitatea bunurilor trebuie să fie acumulate, vom introduce o variabilă de utilizator. Dar există un mic "dar". Nu putem folosi variabilele de utilizator și gruparea de date în același timp în interogare (putem fi mai corecte, dar în cele din urmă vom obține nu ceea ce ne așteptăm), dar putem folosi subdotarea în locul tabelului specificat explicit. Datele din tabel vor fi pre-grupate după dată. Și numai atunci, pe baza acestor date, vom calcula statisticile cu acumularea.

Primul pas este să setați variabila și să o atribuiți unei valori zero:

În următoarea interogare, am creat variabila creată anterior și aplicăm:

Obțineți baza de date utilizată în exemple aici.







Articole similare

Trimiteți-le prietenilor: