Guide for Empleats 1: Primeres consultes
Com abordar aquest problema
És el primer contacte amb SELECT: triar columnes, filtrar files amb WHERE i ordenar-les amb ORDER BY. Tot es fa sobre una sola taula, Employees. Cada pregunta té el seu propi quadre de text: escriu-hi una sola consulta SELECT (sense res més) per a cada pregunta.
La sintaxi que necessites
SELECT columna1, columna2, ...
FROM taula
WHERE condició
ORDER BY columna [ASC | DESC];
SELECT: les columnes que vols veure, en l'ordre en què les vols.FROM: la taula.WHERE(opcional): només passen les files que compleixen la condició (=,<>,<,>,<=,>=).ORDER BY(opcional): ordena el resultat per una columna.ASC(de petit a gran, és el valor per defecte) oDESC(de gran a petit). Les dates en formatAAAA-MM-DDs'ordenen bé com a text: la més antiga és la "més petita".
Pregunta per pregunta
Pregunta 1. Només cal triar dues columnes de la taula, sense cap filtre. Respecta l'ordre: primer el nom i després el cognom.
Pregunta 2. Tres columnes en l'ordre que diu l'enunciat i un filtre numèric. Pensa bé si l'operador ha de ser "més gran que" o "més gran o igual que": "més de 2000" no inclou qui cobra exactament 2000.
Pregunta 3. Dues columnes i cap filtre, però amb ORDER BY. Pensa quin sentit d'ordenació posa primer la data més antiga. Encara que el jutge no comprova l'ordre de les files, acostuma't a posar-lo quan te'l demanen.
Un exemple semblant
El nom i el càrrec dels empleats que cobren menys de 1500, ordenats alfabèticament pel nom:
SELECT FirstName, JobTitle
FROM Employees
WHERE Salary < 1500
ORDER BY FirstName;
El correu i el salari de tots els empleats, del que cobra més al que cobra menys:
SELECT EMail, Salary
FROM Employees
ORDER BY Salary DESC;
Paranys habituals:
- L'ordre de les columnes al
SELECTimporta: el jutge compara columna a columna. >i>=no són el mateix: llegeix bé si el límit s'inclou o no.ORDER BYva sempre al final, després delWHERE.- El jutge no mira els noms de les columnes ni l'ordre de les files, però sí el nombre de columnes: no hi afegeixis columnes "per si de cas".