Elegir columnas
SQL · Unidad 1: Primeras consultas
- Gratis
- SQL
- 11 ejercicios
La tienda va a mandar un aviso y solo necesita los nombres. Con * llegarían también la ciudad y la edad de cada persona, que nadie pidió.
En vez de *, escribe la columna que quieres. Salen las mismas filas, con ese único dato.
SELECT nombre
FROM clientes;Devuelve
| nombre |
|---|
| Ana |
| Luis |
| Sofía |
| Mateo |
| Valeria |
| Diego |
| Camila |
| Bruno |
Un precio sin el nombre de su producto no le sirve a nadie. Para ver varias columnas, sepáralas con comas.
Después de la última no va coma: lo que sigue es el FROM.
SELECT nombre, precio
FROM productos;Devuelve
| nombre | precio |
|---|---|
| Teclado | 45.5 |
| Ratón | 19.9 |
| Monitor | 189 |
| Cable | 5.25 |
| Portátil | 899 |
| Tableta | 320 |
| Audífonos | 59.9 |
| Parlante | 74 |
Las columnas salen en el orden en que las pides, no en el que tiene la tabla. El resultado lo diseñas tú.
En clientes, nombre va antes que edad. Aquí salen al revés porque así se pidió.
SELECT edad, nombre
FROM clientes;Devuelve
| edad | nombre |
|---|---|
| 34 | Ana |
| 27 | Luis |
| 41 | Sofía |
| 19 | Mateo |
| 52 | Valeria |
| 27 | Diego |
| NULL | Camila |
| 38 | Bruno |
SELECT * sirve para asomarse a una tabla. En una consulta que se va a quedar, como la de un reporte, nombra las columnas.
La razón es que las tablas cambian. Si mañana alguien agrega una columna, tu * empieza a traerla sin que nadie lo haya decidido.
Cuando las columnas son muchas, se pone una por línea, con dos espacios delante. Se lee de arriba abajo, y quitar o agregar una es tocar una sola línea.
A SQL también le da igual si escribes SELECT o select. Las mayúsculas son para quien lee: separan de un vistazo las palabras de SQL de tus nombres.
select nombre,
ciudad,
edad
from clientes;Devuelve
| nombre | ciudad | edad |
|---|---|---|
| Ana | Lima | 34 |
| Luis | Bogotá | 27 |
| Sofía | NULL | 41 |
| Mateo | Quito | 19 |
| Valeria | Lima | 52 |
| Diego | Cusco | 27 |
| Camila | Bogotá | NULL |
| Bruno | Lima | 38 |
Si pides una columna que la tabla no tiene, la consulta no corre. El mensaje es no such column (no existe esa columna), con el nombre que SQL no encontró.
Este error sí señala la palabra exacta. Casi siempre es una letra de más o una columna de otra tabla.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Completa el código
¿A qué ciudades manda paquetes la tienda? Completa para ver solo ese dato.
SELECT ___ FROM clientes;2. Opción múltiple
La tienda tiene 8 productos y alguien pide solo los precios. ¿Qué devuelve esta consulta?
SELECT precio FROM productos;3. Completa el código
En el almacén, cada caja va marcada con el número de su producto. Completa para ver ese número junto al nombre.
SELECT id___ nombre FROM productos;4. Ordena las líneas
La tienda quiere saber qué edad tienen sus clientes. Ordena para ver el nombre y la edad de cada uno. Sobran dos líneas.
5. Encuentra el bug
Para armar los letreros del estante hacen falta el nombre y la categoría de cada producto. SQL se queja de la palabra FROM. ¿En qué línea está el error de verdad?
SELECT nombre, categoria, FROM productos;6. Opción múltiple
En la tabla
productos, la columnanombreva antes questock. En el resultado de esta consulta, ¿cuál columna queda a la izquierda?SELECT stock, nombre FROM productos;7. Completa el código
Quien reparte los paquetes los separa por ciudad, así que su lista se lee mejor con la ciudad primero y el nombre después. Completa.
SELECT ___, ___ FROM clientes;8. Opción múltiple
El reporte semanal de la tienda usa
SELECT * FROM clientes;. Un día alguien agrega a la tabla la columnatelefono. ¿Qué pasa con el reporte?9. Ordena las líneas
El catálogo lleva el nombre, la categoría y el precio de cada producto, en ese orden. Ordena la consulta, con una columna por línea. Sobra una línea.
10. Encuentra el bug
Alguien quiere comparar precios por sección, con la categoría y el precio de cada producto. ¿Qué línea tiene el error?
SELECT categoria, precios FROM productos;11. Escribe el código
Van a acomodar el estante por secciones. Escribe una consulta que muestre dos columnas de cada producto, primero su
categoriay después sunombre.SELECT FROM productos;
Se abre en el navegador. Es gratis y no hace falta cuenta para empezar.