El SQLWHERELa clàusula filtra les files en funció d'una o més condicions, de manera que la vostra consulta només retorna (o modifica) els registres que coincideixen. S'utilitza a les instruccions SELECT UPDATE i DELETE i funciona amb dades d'una sola taula o de diverses taules després de les unions.
Exemple: Primer ho farem crear una base de dades SQL de demostració i una taula en què utilitzarem l'ordre de la clàusula WHERE.
Consulta:
SELECT Name Department Salary
FROM Employees
WHERE Salary > 50000;
Sortida:
Sintaxi:
SELECT column1 column2
FROM table_name
WHERE column_name operator value;
- columna1 columna2: Columnes que voleu recuperar.
- nom_taula: Taula des de la qual esteu consultant.
- operador: Lògica de comparació (p. ex. =< >M'agrada).
- valor: El valor o el patró per filtrar.
Exemples de la clàusula ON
Crearem una estructura bàsica de taula d'empleats a SQL per realitzar tota l'operació de la clàusula where.
Consulta:
CREAR TAULA Emp1 (
EmpID INT CLAU PRIMÀRIA
Nom VARCHAR(50)
País VARCHAR(50)
Edat INT
Mob VARCHAR(15)
);
INSEReix als VALORS Emp1
(1 'Shubham' 'Índia' 23 '738479734')
(2 'Aman' 'Austràlia' 21 '436789555')
(3 'Naveen' 'Sri Lanka' 24 '34873847')
(4 'Aditya' 'Àustria' 21 '328440934')
(5 'Nishant' 'Espanya' 22 '73248679');
SELECT * FROM Emp1;
Sortida:
Exemple 1: Clàusula On amb operadors lògics
Per obtenir els registres d'un empleat amb una edat igual a 24 anys.
Consulta:
SELECT * FROM Emp1 WHERE Age=24;Sortida:
Exemple 2: WHERE amb operadors de comparació
Per obtenir el nom EmpID i el país dels empleats amb una edat superior a 21 anys.
Consulta:
SELECT EmpID Name Country FROM Emp1 WHERE Age > 21;Sortida:
Exemple 3: on clàusula amb BETWEEN Operador
L'operador BETWEEN s'utilitza per filtrar registres dins d'un interval especificat i inclou els valors inicial i final. En aquest exemple volem trobar empleats que tinguin entre 22 i 24 anys, inclosos els 22 i els 24.
Consulta:
SELECT * FROM Emp1
WHERE Age BETWEEN 22 AND 24;
Sortida:
Exemple 4: Clàusula On amb LIKE Operador
S'utilitza per obtenir dades filtrades cercant un patró particular a la clàusula where. En aquest exemple volem trobar registres d'empleats on el nom comença amb la lletra. El '%' (comodí) indica els caràcters posteriors aquí que poden tenir qualsevol longitud i valor.
Consulta:
SELECT * FROM Emp1 WHERE Name LIKE 'L%'; Sortida:
Exemple 5: On clàusula amb IN Operador
S'utilitza per obtenir les dades filtrades de la mateixa manera que l'operador '=' només la diferència és que aquí podem especificar diversos valors per als quals podem obtenir el conjunt de resultats. Aquí volem trobar els noms dels empleats on l'edat és de 21 o 23 anys.
Consulta:
SELECT Name FROM Emp1 WHERE Age IN (2123);Sortida:
Operadors utilitzats a la clàusula WHERE
| Operador | Descripció |
|---|---|
| > | Més gran que |
| >= | Major que o Igual a |
| < | Menys de |
| <= | Menor o igual a |
| = | Igual a |
| <> | No igual a |
| ENTRE | En una gamma inclusiva |
| M'agrada | Cerca un patró |
| EN | Per especificar diversos valors possibles per a una columna |