Contenido del curso

Tu primera consulta SQL con SELECT y WHERE

Resumen

Aprender a escribir tu primera consulta SQL con SELECT, FROM y WHERE es el punto de partida para manipular cualquier base de datos relacional. Aquí trabajamos sobre la base de datos DVD Rental en PostgreSQL usando la herramienta Query Tool de pgAdmin, ideal si estás dando tus primeros pasos en consultas SQL.

Cómo abro el Query Tool en pgAdmin para escribir SQL

El Query Tool es la ventana donde escribes y ejecutas tus sentencias. Para abrirlo, selecciona la tabla con la que vas a trabajar, haz clic derecho y elige la opción Query Tool [0:08]. Se abre un editor en blanco listo para recibir tu primera instrucción.

Desde ahí puedes ejecutar cualquier script presionando F5 o el botón de play, y los resultados aparecen en la parte inferior de la pantalla.

Qué hace SELECT * FROM en una consulta SQL

La sentencia SELECT indica qué columnas quieres traer y FROM indica de qué tabla. El asterisco (*) es un comodín que significa todos los campos. Tu primera consulta, equivalente al clásico Hello, world del SQL, se ve así:

sql SELECT * FROM public.actor;

Fíjate en el detalle del prefijo public. Como las tablas están dentro del esquema public en PostgreSQL, necesitas anteponer ese nombre seguido de un punto antes del nombre de la tabla [0:36]. Si lo omites, puede que la consulta no encuentre la tabla.

¿Por qué se escribe SQL en mayúsculas? No es obligatorio, el motor reconoce select igual que SELECT. Es una convención de estilo que mejora la legibilidad y separa visualmente las palabras reservadas del nombre de tablas y columnas [1:00].

Al ejecutar esta consulta sobre la tabla actor, obtienes los 200 registros con todos sus campos: actor_id, first_name, last_name y last_update.

Cómo filtro resultados con la cláusula WHERE

Traer 200 filas rara vez es útil. Para acotar la búsqueda usas WHERE, la cláusula que aplica una condición sobre los registros. Por ejemplo, para encontrar a todos los actores llamados Penélope:

sql SELECT * FROM public.actor WHERE first_name = 'Penelope';

Nota tres cosas importantes en esta sintaxis:

  • El nombre de la columna usa guion bajo: first_name, no first name.
  • El valor de texto va entre comillas simples, no dobles.
  • El signo = compara igualdad estricta entre el campo y el valor.

¿Qué hace WHERE en SQL? Filtra los registros de una tabla devolviendo solo aquellos que cumplen una condición lógica. Sin WHERE, la consulta devuelve todas las filas disponibles.

Cómo selecciono solo las columnas que necesito

El asterisco trae todo, pero casi nunca necesitas toda la información. Puedes reemplazarlo por los nombres de columnas específicas separados por comas. Si solo te interesa el apellido de los actores filtrados, escribes:

sql SELECT last_name FROM public.actor WHERE first_name = 'Penelope';

Esto reduce el resultado a una sola columna y hace la consulta más eficiente. Mientras más precisa sea tu selección, menos datos viajan entre el servidor y tu cliente.

¿Cuál es la diferencia entre SELECT * y SELECT con columnas específicas? El asterisco devuelve todos los campos de la tabla; nombrar columnas devuelve solo las que indicas. Lo segundo es más rápido y más legible en consultas reales.

Por qué practicar con la base de datos DVD Rental

La base de datos DVD Rental incluye 15 tablas con información ya cargada [3:14], lo que te permite experimentar sin preocuparte por insertar datos. Antes de avanzar a sentencias más complejas, conviene que pruebes combinaciones de SELECT, FROM y WHERE sobre distintas tablas.

Algunas ideas para ejercitar:

  • Lista todos los registros de la tabla customer y filtra por first_name.
  • Trae solo title y release_year de la tabla film.
  • Filtra la tabla category por nombres específicos como Action o Comedy.
  • Combina filtros sobre city o country para entender cómo se comporta WHERE con distintos tipos de datos.

Dominar estas tres cláusulas es la base sobre la que construirás joins, agregaciones y subconsultas más adelante. ¿Qué consulta vas a probar primero en tus 15 tablas?