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 | |||
:: | :::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. | |||
:: | ::::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) | |||
: | ::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==== | ====IN/NOT IN==== | ||
Línia 33: | Línia 47: | ||
:Definició: | :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: | :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==== | ====EXISTS/NOT EXISTS==== | ||
Línia 43: | Línia 78: | ||
:Definició: | :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: | :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ó: | ||
:: | ::És una funció que realitza algun tipus d'operació en un nombre, variable o funció | ||
===== + ===== | ===== + ===== | ||
Línia 61: | Línia 98: | ||
:::Definició: | :::Definició: | ||
:::: | ::::suma | ||
===== - ===== | ===== - ===== | ||
Línia 73: | Línia 106: | ||
:::Definició: | :::Definició: | ||
:::: | ::::resta | ||
===== = ===== | ===== = ===== | ||
Línia 95: | Línia 114: | ||
:::Definició: | :::Definició: | ||
:::: | ::::igual | ||
===== < ===== | ===== < ===== | ||
Línia 107: | Línia 122: | ||
:::Definició: | :::Definició: | ||
:::: | ::::Més petit que | ||
===== > ===== | ===== > ===== | ||
Línia 119: | Línia 130: | ||
:::Definició: | :::Definició: | ||
:::: | ::::Més gran que | ||
===== != ===== | ===== != ===== | ||
Línia 131: | Línia 138: | ||
:::Definició: | :::Definició: | ||
:::: | ::::No igual | ||
===== LIKE / NOT LIKE ===== | ===== LIKE / NOT LIKE ===== | ||
Línia 143: | Línia 146: | ||
:::Definició: | :::Definició: | ||
:::: | ::::Compara un camp o un valor amb un patro. | ||
:::Exemple: | :::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ó: | ||
:: | ::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. | |||
:: | :::SELECT cognom FROM EMP WHERE salari >= ALL(SELECT salari FROM emp); | ||
====ANY/SOME==== | ====ANY/SOME==== | ||
Línia 171: | Línia 178: | ||
:Definició: | :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: | :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%');