|
AND si OR pot fi utilizati in orice ordine, cu toate ca AND are de obicei o mai mare prioritate decat OR. Daca folosesti ambii operatori, este indicat sa folosesti paranteze pentru a enunta in mod explicit modul in care trebuie grupate conditiile:
mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
-> OR (species = 'dog' AND sex = 'f');
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
Daca nu doresti sa vizualizezi randuri intregi din tabelul tau, este suficient sa numesti coloanele care te intereseaza, separandu-le prin virgula. De exemplu, daca doresti sa stii cand s-au nascut animalele tale, selecteaza coloanele name si birth:
mysql> SELECT name, birth FROM pet;
+----------+------------+
| name | birth |
+----------+------------+
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Buffy | 1989-05-13 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Puffball | 1999-03-30 |
+----------+------------+
Pentru a afla cine este stapanul animalelor de casa, foloseste aceasta interogare:
mysql> SELECT owner FROM pet;
+--------+
| owner |
+--------+
| Harold |
| Gwen |
| Harold |
| Benny |
| Diane |
| Gwen |
| Gwen |
| Benny |
| Diane |
+--------+
De remarcat ca interogarea nu face altceva decat sa extraga coloana owner din fiecare inregistrare, si astfel unii dintre ei pot aparea de mai multe ori. Pentru a minimiza numarul de iesiri, extrage fiecare iesire desemnand o inregistrare unica, adaugand cuvantul-cheie DISTINCT:
mysql> SELECT DISTINCT owner FROM pet;
+--------+
| owner |
+--------+
| Benny |
| Diane |
| Gwen |
| Harold |
+--------+
Poti folosi o clauza WHERE pentru a combina selectia de rand cu selectia de coloana. De exemplu, pentru a obtine datele de nastere doar pentru caini si pisici, foloseste aceasta interogare:
mysql> SELECT name, species, birth FROM pet
-> WHERE species = 'dog' OR species = 'cat';
+--------+---------+------------+
| name | species | birth |
+--------+---------+------------+
| Fluffy | cat | 1993-02-04 |
| Claws | cat | 1994-03-17 |
| Buffy | dog | 1989-05-13 |
| Fang | dog | 1990-08-27 |
| Bowser | dog | 1989-08-31 |
+--------+---------+------------+
Probabil ai remarcat in exemplele anterioare faptul ca randurile rezultate sunt afisate fara a respecta o ordine anume. De obicei este mai usor sa examinezi iesirile interogarii atunci cand randurile sunt sortate intr-un mod semnificativ. Pentru a sorta un rezultat, foloseste clauza ORDER BY. Iata aici niste date de nastere ale animalelor, sortate dupa data:
mysql> SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Bowser | 1989-08-31 |
| Fang | 1990-08-27 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+
|