Continuăm să studiem interogările MySQL. Aceasta este a doua parte a seriei de articole pentru începători cu privire la interogările MySQL. Exemple de utilizare a comenzilor, funcțiilor și expresiilor, cum ar fi IN, NOT IN, AS, COUNT, CONCAT, GROUP BY și HAVING, vor fi prezentate aici.
WHERE - în IN și nu în aplicație
Folosind IN - selectați clienții din tabelul clienților. în care vârsta este de 30, 40 sau 50 de ani (de exemplu, dacă doriți să verificați cine are o aniversare):
Utilizați NOT IN - de exemplu, selectați toți clienții din tabelul clienților. Care nu locuiesc în Rusia, Belarus, Ucraina:
De asemenea, puteți utiliza interogări imbricate - aici este un exemplu în care trebuie să selectați toți clienții din tabelul clienților. care trăiesc în țările CSI:
Rețineți că interogarea imbricată utilizează o altă tabelă de baze de date - regiuni.
Pentru condițiile IN și NOT IN, ar trebui folosite doar valorile coloanelor din tabele (sau doar anumite valori specifice), dar nu numele coloanelor!
CONCAT - lipirea (concatenarea) valorilor într-o singură linie
Funcția CONCAT este adesea folosită în instrucțiunea SELECT. și cu ajutorul acestuia puteți obține un rând de mai multe valori, fie din șirurile text obișnuite, fie derivate din valorile coloanelor, fie prin combinarea ambelor. Iată câteva interogări MySQL pentru un exemplu:
această interogare va reveni astfel:
Această interogare MySQL ne va trimite această linie:
Cu toate acestea, atunci când utilizați funcția CONCAT, amintiți-vă că, dacă acesta conține cel puțin o valoare NULL în parametrii săi. atunci funcția va returna numai NULL (adică nimic) și indiferent de ce ordine în parametru a fost egală cu valoarea lui NULL. Următoarea interogare returnează valoarea NULL. dar nu șirul:
Mai mult, parametrii numerici trecuți la funcțiile CONCAT fără citate sunt convertite automat în șiruri de caractere:
aceste interogări vor returna valorile șirului "1005009" și, respectiv, "5.99".
Folosind funcția COUNT ()
Funcția COUNT () este utilizată pentru a număra numărul de înregistrări din tabela de baze de date. De exemplu, pentru a găsi numărul tuturor rândurilor din tabelul clienților. este suficient să executați o astfel de interogare:
Folosind funcția COUNT () împreună cu comanda de grupare GROUP BY
În acest exemplu, vom aplica gruparea înregistrărilor pe țări utilizând comanda GROUP BY. pentru a obține de la masa clienților numărul de clienți din fiecare țară:
Rezultatul va fi ceva de genul:
Împreună cu comanda GROUP BY, puteți aplica nu numai funcția COUNT (*). dar și alte funcții similare. De exemplu, următoarea interogare SQL va calcula vârsta medie a clienților, grupată după sex:
Rezultatul este aproximativ următorul:
Folosind clauza HAVING cu GROUP BY
Clauza HAVING este folosită pentru a determina condiția care determină care rânduri vor fi transmise la rezultatul interogării și care nu sunt. De exemplu, următoarea interogare SQL ne va da numărul de clienți din fiecare țară, dar numai în acele țări în care numărul clienților este mai mare de 10:
Rețineți că clauza HAVING trebuie plasată numai după toate expresiile GROUP BY, dar în nici un caz nu ar trebui utilizată în locul WHERE.
Definirea aliaselor folosind "AS"
Numele coloanelor din tabelele bazei de date pot fi înlocuite cu propriile aliasuri, folosind cuvântul cheie AS și numele pe care l-ați inventat în acest scop. Iată un exemplu de folosire a aliaselor și a cuvântului cheie AS:
Ca urmare a interogării, primim următoarele antete de coloană:
Utilizarea de pseudonime este foarte des utilizată, de exemplu, pentru a scurta lungimea șirului de interogare, a înlocui rezultatele interogării cu nume de coloane care sunt mai ușor de citit etc.
-
Aceasta incheie a doua parte a prezentarii interogarii SQL pentru incepatori. A continua.
Alte articole din această serie:
Prima parte
A treia parte
A patra parte