Guia de Bases de Dades: Selects bàsics
Com abordar aquest problema
Aquí practiques la consulta més bàsica: triar quines columnes vols veure d'una taula i quedar-te només amb les files que compleixen una condició. Cada pregunta té el seu propi quadre de text: escriu-hi una sola consulta SELECT (sense res més) per a cada pregunta. Abans de començar, obre l'esquema per veure quines columnes té cada taula.
La sintaxi que necessites
SELECT columna1, columna2
FROM taula
WHERE condició;
SELECT: la llista de columnes que vols al resultat, separades per comes. L'ordre en què les escrius és l'ordre en què surten.FROM: la taula d'on surten les dades.WHERE: la condició que ha de complir cada fila per aparèixer. Pots comparar amb=,<>,<,>,<=,>=. Els textos van entre cometes simples ('text'); els números, sense cometes.
Pregunta per pregunta
Pregunta 1. Només et demanen una columna, i la condició és sobre una altra columna de la mateixa taula (la que indica el país). Fixa't en quina taula guarda els clients i escriu el valor de text exactament com apareix a les dades, entre cometes simples.
Pregunta 2. Aquí calen dues columnes, en l'ordre que diu l'enunciat (primer el nom, després l'estoc). La condició és sobre una columna numèrica que fa de "sí/no": l'enunciat ja et diu quin valor vol dir "descatalogat". Recorda que un número no porta cometes.
Un exemple semblant
Els noms i les ciutats dels clients d'Alemanya:
SELECT company_name, city
FROM customers
WHERE country = 'Germany';
Els productes que costen més de 30, amb el seu preu:
SELECT product_name, unit_price
FROM products
WHERE unit_price > 30;
Paranys habituals:
- Els textos van entre cometes simples (
'...'). Amb cometes dobles SQLite pot interpretar-ho com un nom de columna. - El jutge compta el nombre i l'ordre de les columnes: si en poses una de més (o fas
SELECT *) la resposta no coincidirà. - El jutge no mira l'ordre de les files ni el nom de les columnes, així que no cal
ORDER BYniASsi la pregunta no ho demana. - Compara el valor de text tal com està escrit a la BD (majúscules incloses).