Bienvenido al punto de partida de tu aventura en SQL. En este nivel, construir谩s una base s贸lida, desde
la comprensi贸n de las bases de datos hasta la escritura de tus primeras consultas.
M贸dulo 1: Introducci贸n a las Bases de Datos
Comenzaremos desde cero. Comprender谩s qu茅 es una base de datos, c贸mo se organiza y las herramientas
que usar谩s para interactuar con ella.
Lecci贸n 1.1: 驴Qu茅 es una base de datos?
Una base de datos es una colecci贸n organizada de informaci贸n o datos, estructurada
para que pueda ser f谩cilmente accedida, gestionada y actualizada. El software que gestiona estas
bases de datos se llama SGBD (Sistema Gestor de Bases de Datos).
Lecci贸n 1.2: Bases de datos relacionales vs. NoSQL
Las bases de datos relacionales (como SQL Server) organizan los datos en tablas con
filas y columnas, estableciendo relaciones entre ellas. Son excelentes para datos estructurados y
consistentes. Las bases de datos NoSQL son m谩s flexibles y se usan para datos no
estructurados o semi-estructurados, como documentos o grafos.
Lecci贸n 1.3: Introducci贸n a Microsoft SQL Server
Microsoft SQL Server es uno de los SGBD relacionales m谩s potentes y populares del
mundo. Utiliza el lenguaje T-SQL (Transact-SQL), una extensi贸n de SQL con
funcionalidades adicionales.
Lecci贸n 1.4: Instalaci贸n de SQL Server y SSMS
Para trabajar, necesitar谩s dos cosas: el motor de la base de datos (SQL Server Developer
Edition, que es gratuito) y una herramienta para interactuar con 茅l (SQL Server
Management Studio o SSMS).
Lecci贸n 1.5: Navegaci贸n por SSMS
SSMS es tu centro de control. El Object Explorer te permite navegar por tus
servidores, bases de datos y tablas. La ventana de consulta es donde escribir谩s y
ejecutar谩s tu c贸digo SQL.
Consejo de inicio: Comienza con SQL Server Express o Developer Edition. Ambos
son gratuitos y perfectos para aprender.
Ejercicios de Pr谩ctica del M贸dulo 1
Describe con tus propias palabras la diferencia entre una base de datos relacional y una
NoSQL.
驴Qu茅 tablas crees que necesitar铆a una base de datos para una tienda online? Menciona al
menos 3.
En SSMS, 驴d贸nde har铆as clic para ver las tablas de una base de datos?
驴Por qu茅 es importante el concepto de "dato estructurado"?
驴Qu茅 dos programas necesitas instalar para empezar con SQL Server?
M贸dulo 2: Consultas de Datos (SELECT)
Este es el coraz贸n de SQL. Aprender谩s a hacer preguntas a tu base de datos y obtener exactamente la
informaci贸n que necesitas.
Lecci贸n 2.1: SELECT y FROM
La sentencia SELECT es la m谩s utilizada en SQL. Sirve para leer datos de una o m谩s
tablas.
-- Seleccionar todas las columnas
SELECT * FROM Clientes;
-- Seleccionar columnas espec铆ficas
SELECT Nombre, Email FROM Clientes;
Lecci贸n 2.2: Filtrado con WHERE
La cl谩usula WHERE te permite filtrar los registros para obtener solo los que cumplen una
condici贸n.
-- Clientes de Madrid
SELECT * FROM Clientes WHERE Ciudad = 'Madrid';
Lecci贸n 2.3: Operadores de comparaci贸n
Usa operadores como =, >, <, BETWEEN,
IN y LIKE.
-- Clientes mayores de 30 a帽os
SELECT * FROM Clientes WHERE Edad > 30;
-- Productos entre 50 y 100 euros
SELECT * FROM Productos WHERE Precio BETWEEN 50 AND 100;
Lecci贸n 2.4: Ordenamiento
Ordena los resultados con ORDER BY.
-- Ordenar por nombre ascendente
SELECT * FROM Clientes ORDER BY Nombre ASC;
-- Ordenar por precio descendente
SELECT * FROM Productos ORDER BY Precio DESC;
Ejercicios de Pr谩ctica del M贸dulo 2
Selecciona el nombre y email de todos los clientes.
Encuentra todos los productos de la categor铆a 'Electr贸nica'.
Muestra los 10 productos m谩s caros.
Busca clientes cuyo nombre empiece con 'A'.
Ordena los pedidos por fecha m谩s reciente.
M贸dulo 3: Uni贸n de Tablas (JOINS)
Aprende a combinar datos de m煤ltiples tablas en una sola consulta.
Lecci贸n 3.1: Claves primarias y for谩neas
Las claves primarias identifican filas 煤nicas. Las claves for谩neas
crean relaciones entre tablas.
Lecci贸n 3.2: INNER JOIN
Devuelve solo las filas que tienen coincidencias en ambas tablas.
-- Clientes y sus pedidos
SELECT c.Nombre, p.FechaPedido
FROM Clientes c
INNER JOIN Pedidos p ON c.ClienteID = p.ClienteID;
Lecci贸n 3.3: LEFT JOIN
Devuelve todas las filas de la tabla izquierda, incluso si no hay coincidencias.
-- Todos los clientes, incluso sin pedidos
SELECT c.Nombre, p.FechaPedido
FROM Clientes c
LEFT JOIN Pedidos p ON c.ClienteID = p.ClienteID;
Ejercicios de Pr谩ctica del M贸dulo 3
Muestra todos los libros con sus autores.
Encuentra clientes que no han hecho pedidos.
Muestra todos los empleados con sus departamentos.
Usa alias para hacer las consultas m谩s cortas.
Busca productos y sus categor铆as.
M贸dulo 4: Manipulaci贸n de Datos
Aprende a a帽adir, modificar y eliminar datos en tus tablas.
Lecci贸n 4.1: INSERT INTO
A帽ade nuevos registros a tus tablas.
-- A帽adir un nuevo cliente
INSERT INTO Clientes (Nombre, Email, Ciudad)
VALUES ('Mar铆a Garc铆a', 'maria@email.com', 'Barcelona');
Lecci贸n 4.2: UPDATE
Modifica registros existentes (隆siempre usa WHERE!).
-- Actualizar el email de un cliente
UPDATE Clientes
SET Email = 'nuevo@email.com'
WHERE ClienteID = 1;
Lecci贸n 4.3: DELETE
Elimina registros (隆cuidado sin WHERE!).
-- Eliminar un cliente espec铆fico
DELETE FROM Clientes
WHERE ClienteID = 1;
隆Ojo! Siempre usa WHERE en UPDATE y DELETE para no afectar toda la tabla.
Ejercicios de Pr谩ctica del M贸dulo 4
A帽ade 3 nuevos productos a la tabla Productos.
Actualiza el precio de todos los productos de 'Electr贸nica' con un 10% de descuento.
Cambia el nombre del producto con ID 5 a 'Nuevo Nombre'.
Elimina los productos sin stock.
Actualiza el email de todos los clientes de 'Madrid'.
M贸dulo 5: Creaci贸n y Definici贸n de Datos
Crea y modifica la estructura de tu base de datos.
Lecci贸n 5.1: Tipos de datos
INT: N煤meros enteros
VARCHAR(n): Texto hasta n caracteres
DECIMAL(p,s): N煤meros con decimales
DATETIME: Fecha y hora
BIT: Verdadero/Falso
Lecci贸n 5.2: CREATE DATABASE
Crea una nueva base de datos.
CREATE DATABASE MiTienda;
Lecci贸n 5.3: CREATE TABLE
Define la estructura de una tabla.
CREATE TABLE Productos (
ProductoID INT PRIMARY KEY,
Nombre VARCHAR(100) NOT NULL,
Precio DECIMAL(10,2),
Stock INT
);
Lecci贸n 5.4: ALTER TABLE
Modifica una tabla existente.
-- A帽adir una columna
ALTER TABLE Productos ADD Descripcion VARCHAR(500);
-- Eliminar una columna
ALTER TABLE Productos DROP COLUMN Descripcion;
Lecci贸n 5.5: DROP TABLE
Elimina una tabla permanentemente.
DROP TABLE ProductosTemporal;
Ejercicios de Pr谩ctica del M贸dulo 5
Crea una tabla para almacenar usuarios (ID, nombre, email).
A帽ade una columna "fecha_registro" a la tabla usuarios.
Crea una tabla de categor铆as y vinc煤lala con productos.
A帽ade una restricci贸n CHECK para que el stock sea positivo.