Vs Missä -lauseke SQL:ssä

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>

HAVING> total>70>

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.