WHERE: diferència entre les revisions

De FFAWiki
(Es crea la pàgina amb «:Definició: ::Condicions que han de complir les files per a que les mostri per pantalla :Exemple: ::Falta posar exemple '''Eines que es poden utilitzar:''' ====S...».)
 
Cap resum de modificació
 
(Hi ha una revisió intermèdia del mateix usuari que no es mostren)
Línia 3: Línia 3:
::Condicions que han de complir les files per a que les mostri per pantalla
::Condicions que han de complir les files per a que les mostri per pantalla


:Exemple:
:Exemple: (Base de dades empresa)
 
::Mostra els cognoms i el salari de aquella gent que el seu salari es superior a 200.000


::Falta posar exemple
:::SELECT cognom,salari FROM emp WHERE salari>200000;


'''Eines que es poden utilitzar:'''
'''Eines que es poden utilitzar:'''
Línia 15: Línia 17:
::Es pot utilitzar una consulta per tal de fer un filtre o condicio amb dades d'alguna altre taula relacionada o de la propia
::Es pot utilitzar una consulta per tal de fer un filtre o condicio amb dades d'alguna altre taula relacionada o de la propia


:Exemple:
:Exemple:  
 
::'''Subconsulta taula relacionada''' (Base de dades toctag)
 
:::Mostra tots aquells dni i noms d'alumnes de la taula algumnes que coincideixen amb els dni de la taula d'expulsions.
 
::::SELECT dni,alumne FROM alumnes WHERE dni IN(SELECT DISTINCT(dni) FROM expulsions);
 
::'''Subconsulta en la mateixa taula''' (Base de dades empresa)
 
:::Mostra els treballadors que el seu numero d'empleat de la taula emp coincideix amb la llista de numeros de empleats que son caps.


::Falta exemple
::::SELECT cognom FROM emp WHERE emp_no IN(SELECT distinct(cap) FROM emp);


====AND====
====AND====
Línia 23: Línia 35:
:Definició:
:Definició:


::El seu us es unir varies conducions o filtres
::El seu us es unir varies conducions o filtres.
 
:Exemple: (Base de dades empresa)


:Exemple:
::Mostra aquells salaris que son mes grans de 200.000 i mes petits a 300.000


::Falta exemple
:::SELECT cognom,salari FROM emp WHERE salari>200000 AND salari<300000;


====IN/NOT IN====
====IN/NOT IN====
Línia 33: Línia 47:
:Definició:
:Definició:


::Falta Descripció
::Comproba si esta dins de la llista que se li especifiqui entre parèntesi IN'''()''', on esta la nagreta es on va la llista.


:Exemple:
:Exemple: (Base de dades toctag)
 
::'''IN'''
 
:::'''Exemple amb subcunsulta'''
 
::::Mostra tots aquells dni i noms d'alumnes de la taula algumnes que coincideixen amb els dni de la taula d'expulsions.
 
:::::SELECT dni,alumne FROM alumnes WHERE dni IN(SELECT DISTINCT(dni) FROM expulsions);
 
 
:::'''Exemple amb la mateixa taula'''
 
::::Mostra tots aquells treballadors que tenen la categoria empleat i venedor
 
:::::SELECT cognom,ofici FROM emp WHERE ofici IN('empleat','venedor');
 
::'''NOT IN'''
 
:::'''Exemple amb la mateixa taula'''
 
::::Mostra tots aquells treballadors que no tenen la categoria empleat i venedor


::Falta exemple
:::::SELECT cognom,ofici FROM emp WHERE ofici NOT IN('empleat','venedor');


====EXISTS/NOT EXISTS====
====EXISTS/NOT EXISTS====
Línia 43: Línia 78:
:Definició:
:Definició:


::Falta Descripció
::Fa una subconsulta i l'exists segons si troba algo o no, torna true o false i en el cas que dongui true imprimeix. (S'utilitza en subconsultes)


:Exemple:
:Exemple:


::Falta exemple
::Mostra totes les columnes de la taula expulsions, pero nomes mostra les dades quan el dni de la taula alumnes el qual esta fent quart de l'ESO i si auqest mateix dni coincideix amb el dni de la taula d'expulsions.
 
:::SELECT * FROM expulsions WHERE EXISTS (SELECT dni FROM alumnes WHERE estudis like 'ESO4%' and dni=expulsions.dni);


====Operadors====
====Operadors====
Línia 53: Línia 90:
:Definició:
:Definició:


::Falta Descripció
::És una funció que realitza algun tipus d'operació en un nombre, variable o funció


===== + =====
===== + =====
Línia 61: Línia 98:
:::Definició:
:::Definició:


::::Falta Descripció
::::suma
 
:::Exemple:
 
::::Falta exemple


===== - =====
===== - =====
Línia 73: Línia 106:
:::Definició:
:::Definició:


::::Falta Descripció
::::resta
 
:::Exemple:
 
::::Falta exemple
 
====Comparadors====
 
:Definició:
 
::Falta Descripció
 
:Definició:
 
::Falta Descripció


===== = =====
===== = =====
Línia 95: Línia 114:
:::Definició:
:::Definició:


::::Falta Descripció
::::igual
 
:::Exemple:
 
::::Falta exemple


===== < =====
===== < =====
Línia 107: Línia 122:
:::Definició:
:::Definició:


::::Falta Descripció
::::Més petit que
 
:::Exemple:
 
::::Falta exemple


===== > =====
===== > =====
Línia 119: Línia 130:
:::Definició:
:::Definició:


::::Falta Descripció
::::Més gran que
 
:::Exemple:
 
::::Falta exemple


===== != =====
===== != =====
Línia 131: Línia 138:
:::Definició:
:::Definició:


::::Falta Descripció
::::No igual
 
:::Exemple:
 
::::Falta exemple


===== LIKE / NOT LIKE =====
===== LIKE / NOT LIKE =====
Línia 143: Línia 146:
:::Definició:
:::Definició:


::::Falta Descripció
::::Compara un camp o un valor amb un patro.


:::Exemple:
:::Exemple:


::::Falta exemple
::::Mostra els alumnes que estan cursant l'ESO.
 
:::::SELECT dni,alumne FROM alumnes WHERE estudis LIKE 'ESO%';


====== Eines: _ / % ======
====== Eines: _ / % ======
Línia 161: Línia 166:
:Definició:
:Definició:


::Falta Descripció
::L'ordre retorna true si tots els valors de la subqueria compleixen la condició. Necessita sempre un comarador devant.


:Exemple:
:Exemple: (Base de dades empresa)
 
::Mostra cognom d'aquella persona que te el salari mes alt de tots.


::Falta exemple
:::SELECT cognom FROM EMP WHERE salari >= ALL(SELECT salari FROM emp);


====ANY/SOME====
====ANY/SOME====
Línia 171: Línia 178:
:Definició:
:Definició:


::Falta Descripció
::ANY: qualsevol
::SOME: algun
 
::Si (qualsevol/algun) coincideix amb la llista s'imprimeix. ANY'''()''' SOME'''()''', en la nagreta es on es posa la llista.


:Exemple:
:Exemple:


::Falta exemple
::Mostra els alumnes amb estudis DAM
 
:::SELECT alumne,estudis FROM alumnes WHERE estudis = SOME(SELECT estudis FROM alumnes WHERE estudis like 'DAM%');
 
::::::SELECT alumne,estudis FROM alumnes WHERE estudis = ANY(SELECT estudis FROM alumnes WHERE estudis like 'DAM%');

Revisió de 12:32, 13 gen 2021

Definició:
Condicions que han de complir les files per a que les mostri per pantalla
Exemple: (Base de dades empresa)
Mostra els cognoms i el salari de aquella gent que el seu salari es superior a 200.000
SELECT cognom,salari FROM emp WHERE salari>200000;

Eines que es poden utilitzar:

Subconsultes

Definició:
Es pot utilitzar una consulta per tal de fer un filtre o condicio amb dades d'alguna altre taula relacionada o de la propia
Exemple:
Subconsulta taula relacionada (Base de dades toctag)
Mostra tots aquells dni i noms d'alumnes de la taula algumnes que coincideixen amb els dni de la taula d'expulsions.
SELECT dni,alumne FROM alumnes WHERE dni IN(SELECT DISTINCT(dni) FROM expulsions);
Subconsulta en la mateixa taula (Base de dades empresa)
Mostra els treballadors que el seu numero d'empleat de la taula emp coincideix amb la llista de numeros de empleats que son caps.
SELECT cognom FROM emp WHERE emp_no IN(SELECT distinct(cap) FROM emp);

AND

Definició:
El seu us es unir varies conducions o filtres.
Exemple: (Base de dades empresa)
Mostra aquells salaris que son mes grans de 200.000 i mes petits a 300.000
SELECT cognom,salari FROM emp WHERE salari>200000 AND salari<300000;

IN/NOT IN

Definició:
Comproba si esta dins de la llista que se li especifiqui entre parèntesi IN(), on esta la nagreta es on va la llista.
Exemple: (Base de dades toctag)
IN
Exemple amb subcunsulta
Mostra tots aquells dni i noms d'alumnes de la taula algumnes que coincideixen amb els dni de la taula d'expulsions.
SELECT dni,alumne FROM alumnes WHERE dni IN(SELECT DISTINCT(dni) FROM expulsions);


Exemple amb la mateixa taula
Mostra tots aquells treballadors que tenen la categoria empleat i venedor
SELECT cognom,ofici FROM emp WHERE ofici IN('empleat','venedor');
NOT IN
Exemple amb la mateixa taula
Mostra tots aquells treballadors que no tenen la categoria empleat i venedor
SELECT cognom,ofici FROM emp WHERE ofici NOT IN('empleat','venedor');

EXISTS/NOT EXISTS

Definició:
Fa una subconsulta i l'exists segons si troba algo o no, torna true o false i en el cas que dongui true imprimeix. (S'utilitza en subconsultes)
Exemple:
Mostra totes les columnes de la taula expulsions, pero nomes mostra les dades quan el dni de la taula alumnes el qual esta fent quart de l'ESO i si auqest mateix dni coincideix amb el dni de la taula d'expulsions.
SELECT * FROM expulsions WHERE EXISTS (SELECT dni FROM alumnes WHERE estudis like 'ESO4%' and dni=expulsions.dni);

Operadors

Definició:
És una funció que realitza algun tipus d'operació en un nombre, variable o funció
+
+
Definició:
suma
-
-
Definició:
resta
=
=
Definició:
igual
<
<
Definició:
Més petit que
>
>
Definició:
Més gran que
!=
!=
Definició:
No igual
LIKE / NOT LIKE
LIKE / NOT LIKE
Definició:
Compara un camp o un valor amb un patro.
Exemple:
Mostra els alumnes que estan cursant l'ESO.
SELECT dni,alumne FROM alumnes WHERE estudis LIKE 'ESO%';
Eines: _ / %
_ / %
_ : S'utilitza per calcular quin caracter exacte del parametre vols que sigui igual
% : S'ho traga tot, per exemple si vols bucar una parula que conte una x seria '%x%'

ALL

Definició:
L'ordre retorna true si tots els valors de la subqueria compleixen la condició. Necessita sempre un comarador devant.
Exemple: (Base de dades empresa)
Mostra cognom d'aquella persona que te el salari mes alt de tots.
SELECT cognom FROM EMP WHERE salari >= ALL(SELECT salari FROM emp);

ANY/SOME

Definició:
ANY: qualsevol
SOME: algun
Si (qualsevol/algun) coincideix amb la llista s'imprimeix. ANY() SOME(), en la nagreta es on es posa la llista.
Exemple:
Mostra els alumnes amb estudis DAM
SELECT alumne,estudis FROM alumnes WHERE estudis = SOME(SELECT estudis FROM alumnes WHERE estudis like 'DAM%');
SELECT alumne,estudis FROM alumnes WHERE estudis = ANY(SELECT estudis FROM alumnes WHERE estudis like 'DAM%');