Quina diferència hi ha entre la clàusula i la clàusula que existeix en SQL?


Resposta 1:

On la clàusula i la clàusula Have tindran la mateixa funcionalitat, però hi ha algunes diferències.

Utilitzant la clàusula Where, podem realitzar instruccions de selecció, inserció i actualització.

Utilitzant la clàusula Have, només podem realitzar la instrucció select.

No podem realitzar funcions agregades sobre la clàusula on, excepte en subconteses.

Podem realitzar funcions agregades a la clàusula Have.

Una altra diferència és que on la clàusula es produeix abans de GROUP BY i la clàusula es produeix després de GROUP BY.

Per a més informació, seguiu el següent enllaç.

Quina diferència hi ha entre la clàusula WHERE i la clàusula HAVING?


Resposta 2:
  1. La clàusula WHERE es pot utilitzar amb una clàusula de selecció, actualització i supressió de la declaració, però la clàusula HAVING només es pot utilitzar amb una instrucció Select. No podem utilitzar les funcions agregades a la clàusula WHERE tret que es trobi en una subconsulta continguda en una Clàusula HAVING mentre que podem utilitzar una funció agregada a la clàusula HAVING. Podem utilitzar un nom de columna a la clàusula HAVING, però la columna ha de contenir-se en el grup per clàusula.WHERE s'utilitza abans de la clàusula GROUP BY mentre que una clàusula HAVING s'utilitza per imposar una condició a la funció GROUP i s'utilitza després del GROUP Una clàusula BY a la consulta.Una clàusula WHERE s'aplica a totes les files mentre que una clàusula HAVING s'aplica a les files resumides (resumides amb GROUP BY). A la clàusula WHERE, les dades que es treuen de la memòria depenen d'una condició, mentre que en TENIR la finalització primer s'obtenen les dades i després es separen en funció de la condició.

Institut de formació DBA de SQL Server a Ameerpet


Resposta 3:

Tant la clàusula d'on com la de filtres són filtres. La diferència principal és que sobre el que es filtra.

  1. on la clàusula filtra les dades [en funció d’una condició] després d’obtenir els registres de la taula (de la clàusula). La clàusula Having filtra les dades [basades normalment en una funció agregada] després que els registres siguin filtrats (on) [opcionals] i agrupats (grup) de). Tenir clàusula només filtrarà el conjunt de resultats agrupats.

Resposta 4:

Diferència entre la clàusula on la clàusula i la clàusula en sql

No podem restringir els grups per la clàusula d'on

podem restringir els grups en tenir una clàusula

2. Les funcions agregades o les funcions de grup mai no accepten la clàusula "on"

funció agregada accepta tenir clàusula

Exemple de consulta (funcions de grup o agregades):

SELECT departament_id, AVG (salari) DELS empleats

ONDE AVG (salari)> 8000 GROUP BY departament_id;

Es mostrarà un error

SELECT departament_id, AVG (salari) DELS empleats

TENIR AVG (salari)> 8000 GROUP BY departament_id;


Resposta 5:

Diferència entre la clàusula on la clàusula i la clàusula en sql

No podem restringir els grups per la clàusula d'on

podem restringir els grups en tenir una clàusula

2. Les funcions agregades o les funcions de grup mai no accepten la clàusula "on"

funció agregada accepta tenir clàusula

Exemple de consulta (funcions de grup o agregades):

SELECT departament_id, AVG (salari) DELS empleats

ONDE AVG (salari)> 8000 GROUP BY departament_id;

Es mostrarà un error

SELECT departament_id, AVG (salari) DELS empleats

TENIR AVG (salari)> 8000 GROUP BY departament_id;


Resposta 6:

Diferència entre la clàusula on la clàusula i la clàusula en sql

No podem restringir els grups per la clàusula d'on

podem restringir els grups en tenir una clàusula

2. Les funcions agregades o les funcions de grup mai no accepten la clàusula "on"

funció agregada accepta tenir clàusula

Exemple de consulta (funcions de grup o agregades):

SELECT departament_id, AVG (salari) DELS empleats

ONDE AVG (salari)> 8000 GROUP BY departament_id;

Es mostrarà un error

SELECT departament_id, AVG (salari) DELS empleats

TENIR AVG (salari)> 8000 GROUP BY departament_id;


Resposta 7:

Diferència entre la clàusula on la clàusula i la clàusula en sql

No podem restringir els grups per la clàusula d'on

podem restringir els grups en tenir una clàusula

2. Les funcions agregades o les funcions de grup mai no accepten la clàusula "on"

funció agregada accepta tenir clàusula

Exemple de consulta (funcions de grup o agregades):

SELECT departament_id, AVG (salari) DELS empleats

ONDE AVG (salari)> 8000 GROUP BY departament_id;

Es mostrarà un error

SELECT departament_id, AVG (salari) DELS empleats

TENIR AVG (salari)> 8000 GROUP BY departament_id;