10° - SQL - SELECT

 Introducción a SQL

Objetivo: Aprender a consultar datos de una base de datos usando SELECT, WHERE, ORDER BY y LIMIT, y practicar en https://www.sql-practice.com usando el esquema de base de datos disponible.


Parte 1: Conceptos Básicos

¿Qué es SQL?

SQL (Structured Query Language) es el lenguaje utilizado para interactuar con bases de datos relacionales. Permite realizar operaciones como consultar, insertar, actualizar y eliminar datos. SQL se compone de distintos tipos de comandos clasificados por su propósito:

  • DDL (Data Definition Language): CREATE, ALTER, DROP – Definen y modifican estructuras de datos.

  • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE – Manipulan datos dentro de las tablas.

  • DCL (Data Control Language): GRANT, REVOKE – Controlan permisos sobre la base de datos.

  • TCL (Transaction Control Language): COMMIT, ROLLBACK, SAVEPOINT – Controlan transacciones.









En esta clase nos enfocamos principalmente en los comandos de consulta (SELECT) y filtrado de datos.

SELECT

Selecciona columnas de una tabla:

SELECT first_name, last_name FROM patients;

Resultado:

first_name last_name
John Doe
Alice Smith

WHERE

Filtra filas según condiciones:

SELECT * FROM patients WHERE city = 'Toronto';

Resultado:

patient_id first_name last_name city
2 Maria Lopez Toronto

ORDER BY

Ordena los resultados:

SELECT * FROM patients ORDER BY birth_date DESC;

Resultado:

patient_id first_name birth_date
5 David 2012-06-10
3 Lucy 2009-02-14

LIMIT

Muestra solo un número determinado de resultados:

SELECT * FROM doctors LIMIT 5;

Resultado:

doctor_id first_name last_name specialty
1 Emma Carter Pediatrics
2 Alex Brown Cardiology

DISTINCT

Elimina duplicados de los resultados:

SELECT DISTINCT city FROM patients;

Resultado:

city
Toronto
Calgary
Vancouver

BETWEEN

Filtra datos dentro de un rango:

SELECT * FROM admissions WHERE admission_date BETWEEN '2021-01-01' AND '2021-12-31';

IN

Filtra por múltiples valores:

SELECT * FROM patients WHERE city IN ('Toronto', 'Calgary');

LIKE

Filtra usando patrones:

SELECT * FROM patients WHERE last_name LIKE 'Sm%';

Resultado:

patient_id first_name last_name
4 Lucas Smith
7 Sarah Small

Parte 2: Actividades prácticas

Actividad 1

Mostrar los nombres y apellidos de todos los pacientes:

SELECT first_name, last_name FROM patients;

Actividad 2

Mostrar todos los datos de los pacientes de la ciudad "Calgary":

SELECT * FROM patients WHERE city = 'Calgary';

Actividad 3

Mostrar los 10 pacientes más jóvenes:

SELECT * FROM patients ORDER BY birth_date DESC LIMIT 10;

Actividad 4

Mostrar el nombre, apellido y especialidad de los doctores:

SELECT first_name, last_name, specialty FROM doctors;

Actividad 5

Mostrar todos los registros de admisión del año 2020:

SELECT * FROM admissions WHERE admission_date BETWEEN '2020-01-01' AND '2020-12-31';

Reto Final

Mostrar el nombre, apellido, ciudad y nombre de la provincia de los primeros 10 pacientes ordenados alfabéticamente por apellido:

SELECT p.first_name, p.last_name, p.city, pn.province_name
FROM patients p
JOIN province_names pn ON p.province_id = pn.province_id
ORDER BY p.last_name ASC
LIMIT 10;

Próxima clase: GROUP BY, funciones de agregación (COUNT, SUM, AVG), subconsultas y cláusulas HAVING.

Comentarios

Entradas populares