Ejemplos de SQL: Guía Completa con Ejemplos Prácticos
El lenguaje de consulta estructurado (SQL) es un lenguaje de dominio específico utilizado para interactuar con bases de datos relacionales. Se utiliza para consultar, insertar, actualizar y eliminar datos de bases de datos. En este artículo, vamos a explorar los fundamentos de SQL con ejemplos prácticos que te ayudarán a entender cómo funciona y a realizar consultas complejas. Utilizaremos MySQL como sistema de gestión de bases de datos relacional (RDBMS) para ilustrar los conceptos.
Conectando a la Base de Datos
Antes de empezar a consultar datos, necesitamos establecer una conexión con la base de datos. Para ello, usaremos el comando mysql en la línea de comandos. En el siguiente ejemplo, «tuusuario» y «tucontraseña» se sustituyen por tu nombre de usuario y contraseña, respectivamente:
mysql -u tu_usuario -p tu_contraseña
Uso de la Cláusula USE
Una vez que te has conectado a la base de datos, puedes usar la cláusula USE para especificar la base de datos con la que deseas trabajar. Por ejemplo:
sql
USE mi_base_de_datos;
Donde «mibasede_datos» es el nombre de la base de datos que quieres utilizar.
Seleccionando Datos con la Cláusula SELECT
La cláusula SELECT es la piedra angular de SQL, ya que te permite seleccionar datos de una o varias tablas. La sintaxis básica es la siguiente:
sql
SELECT columna1, columna2, ...
FROM tabla1;
Ejemplo de base de datos SQL:
Supongamos que tienes una tabla llamada «clientes» con las siguientes columnas:
- id (número entero)
- nombre (texto)
- apellido (texto)
- ciudad (texto)
Para seleccionar todos los clientes, puedes usar el siguiente código:
sql
SELECT *
FROM clientes;
Esto seleccionará todas las columnas y filas de la tabla «clientes».
Filtrando Datos con la Cláusula WHERE
La cláusula WHERE te permite filtrar los resultados de tu consulta, mostrándote solo las filas que cumplen con una condición específica. La sintaxis básica es:
sql
SELECT columna1, columna2, ...
FROM tabla1
WHERE condición;
Ejemplos de SQL:
- Para seleccionar solo los clientes de la ciudad de «Madrid»:
sql
SELECT *
FROM clientes
WHERE ciudad = 'Madrid';
- Para seleccionar los clientes cuyo nombre empieza con la letra «A»:
sql
SELECT *
FROM clientes
WHERE nombre LIKE 'A%';
Ordenando Datos con la Cláusula ORDER BY
La cláusula ORDER BY te permite ordenar los resultados de tu consulta en orden ascendente o descendente. La sintaxis básica es:
sql
SELECT columna1, columna2, ...
FROM tabla1
ORDER BY columna ASC|DESC;
Ejemplos de SQL:
- Para ordenar los clientes por apellido de forma ascendente:
sql
SELECT *
FROM clientes
ORDER BY apellido ASC;
- Para ordenar los clientes por id de forma descendente:
sql
SELECT *
FROM clientes
ORDER BY id DESC;
Agrupando Datos con la Cláusula GROUP BY
La cláusula GROUP BY te permite agrupar filas con valores iguales en una columna específica. La sintaxis básica es:
sql
SELECT columna1, columna2, ...
FROM tabla1
GROUP BY columna;
Ejemplo de base de datos SQL:
Supongamos que tienes una tabla llamada «pedidos» con las siguientes columnas:
- id (número entero)
- cliente_id (número entero)
- producto (texto)
- cantidad (número entero)
Para agrupar los pedidos por cliente, puedes usar el siguiente código:
sql
SELECT cliente_id, SUM(cantidad) AS total_pedidos
FROM pedidos
GROUP BY cliente_id;
Esto mostrará el total de pedidos para cada cliente.
Filtrando Grupos con la Cláusula HAVING
La cláusula HAVING te permite filtrar los grupos creados con GROUP BY. La sintaxis básica es:
sql
SELECT columna1, columna2, ...
FROM tabla1
GROUP BY columna
HAVING condición;
Ejemplo de SQL:
Para mostrar solo los clientes que han realizado más de 5 pedidos, puedes usar el siguiente código:
sql
SELECT cliente_id, SUM(cantidad) AS total_pedidos
FROM pedidos
GROUP BY cliente_id
HAVING SUM(cantidad) > 5;
Operadores en SQL
Existen varios operadores en SQL que te permiten comparar valores y realizar operaciones lógicas. Algunos de los operadores más comunes son:
=(igual a)!=(distinto de)>(mayor que)<(menor que)>=(mayor o igual que)<=(menor o igual que)AND(y)OR(o)NOT(no)
Ejemplos de SQL:
- Para seleccionar los clientes cuyo nombre es «Juan»:
sql
SELECT *
FROM clientes
WHERE nombre = 'Juan';
- Para seleccionar los clientes cuyo nombre no es «Juan»:
sql
SELECT *
FROM clientes
WHERE nombre != 'Juan';
- Para seleccionar los clientes cuyo apellido es «Pérez» y su ciudad es «Madrid»:
sql
SELECT *
FROM clientes
WHERE apellido = 'Pérez' AND ciudad = 'Madrid';
- Para seleccionar los clientes cuyo apellido es «Pérez» o su ciudad es «Barcelona»:
sql
SELECT *
FROM clientes
WHERE apellido = 'Pérez' OR ciudad = 'Barcelona';
Utilizando BETWEEN
El operador BETWEEN te permite seleccionar valores dentro de un rango específico. La sintaxis básica es:
sql
SELECT columna1, columna2, ...
FROM tabla1
WHERE columna BETWEEN valor1 AND valor2;
Ejemplo de base de datos SQL:
Para seleccionar los clientes con id entre 10 y 20, puedes usar el siguiente código:
sql
SELECT *
FROM clientes
WHERE id BETWEEN 10 AND 20;
Creando Vistas (Views) en SQL
Una vista es una consulta almacenada que se puede tratar como una tabla. Es una forma de simplificar consultas complejas o de proteger los datos subyacentes. La sintaxis básica para crear una vista es:
sql
CREATE VIEW nombre_vista AS
SELECT columna1, columna2, ...
FROM tabla1
WHERE condición;
Ejemplo de SQL:
Para crear una vista llamada «clientes_madrid» que solo muestre los clientes de la ciudad de Madrid, puedes usar el siguiente código:
sql
CREATE VIEW clientes_madrid AS
SELECT *
FROM clientes
WHERE ciudad = 'Madrid';
Consultas SQL en Entrevistas
Durante las entrevistas de trabajo para puestos relacionados con bases de datos, es común que te pregunten sobre tus conocimientos de SQL. Aquí te presentamos algunos ejemplos de preguntas comunes:
- ¿Qué es SQL y para qué se utiliza?
- Explica la diferencia entre
JOIN,LEFT JOINyRIGHT JOIN. - ¿Cómo se puede actualizar un registro en una tabla?
- ¿Cómo se puede eliminar un registro de una tabla?
- ¿Cómo se puede crear una nueva tabla?
- ¿Cómo se puede agregar una columna a una tabla existente?
- ¿Cómo se puede cambiar el tipo de dato de una columna?
- ¿Cómo se puede crear una vista?
- ¿Cómo se puede eliminar una vista?
Comandos Básicos para la Administración de Usuarios y Tablas en Oracle
En Oracle, puedes usar los siguientes comandos para administrar usuarios y tablas:
CREATE USER: Crea un nuevo usuario.ALTER USER: Modifica la información de un usuario.DROP USER: Elimina un usuario.GRANT: Concede permisos a un usuario.REVOKE: Revoca permisos a un usuario.CREATE TABLE: Crea una nueva tabla.ALTER TABLE: Modifica la estructura de una tabla.DROP TABLE: Elimina una tabla.
Conclusión
Este artículo ha presentado una introducción completa a SQL, cubriendo los conceptos fundamentales, la sintaxis básica y ejemplos prácticos. Con este conocimiento, podrás empezar a interactuar con bases de datos relacionales de forma efectiva. Recuerda que la práctica es fundamental para dominar cualquier lenguaje de programación, y SQL no es una excepción. Continúa explorando más ejemplos y funciones avanzadas de SQL para ampliar tus habilidades.