Ero SQL:n having- ja where-lauseen välillä on, että where-lause cann o t voidaan käyttää aggregaattien kanssa, mutta have-lausetta voidaan käyttää.
The missä lauseke toimii rivin tiedoissa, ei koostetuissa tiedoissa. Tarkastellaanpa alla olevaa taulukkoa 'Marks'.
Opiskelijakurssin pisteet
c1 40
c2 50
b c3 60
d c1 70
e c2 80
Harkitse kyselyä
SELECT>Student, Score FROM Marks WHERE Score>=40>> |
Tämä valitsisi tiedot rivi riviltä.
The joilla on lauseke toimii aggregoiduissa tiedoissa.
Esimerkiksi alla olevan kyselyn tulos
SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student> |
Opiskelija yhteensä
a 90
b 60
d 70
ja 80
Kun haemme yllä olevaa kyselyä, saamme
SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>
|
Opiskelija yhteensä
a 90
ja 80
Huomautus: Se ei ole ennalta määritetty sääntö, mutta useissa SQL-kyselyissä käytämme WHERE-sanaa ennen GROUP BY:tä ja HAVING-sääntöä GROUP BY:n jälkeen. Missä-lause toimii a esisuodatin missä kuin ottaa kuin a postisuodatin.