⏱️ Lenguaje SQL desde cero [Tutorial completo]

campusMVP.esAbout 7 min readMar 28, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • SQL (Structured Query Language): Lenguaje para consultar y manipular bases de datos relacionales.
  • Bases de datos relacionales: Bases de datos que organizan la información en tablas relacionadas entre sí.
  • Extracción de datos: Proceso de obtener información específica de una base de datos.
  • SQLite: Base de datos embebida, ligera y compatible con el estándar SQL, utilizada para el tutorial.
  • DB Browser for SQLite: Interfaz gráfica para interactuar con bases de datos SQLite.
  • Northwind: Base de datos de ejemplo utilizada para el tutorial, que simula una empresa de compraventa de alimentos.
  • Cláusulas SQL: Componentes de las sentencias SQL, como SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, UNION, INTERSECT, EXCEPT.
  • Funciones de agregación: Funciones que realizan cálculos sobre un conjunto de valores, como COUNT, SUM, AVG, MIN, MAX.
  • Subconsultas: Consultas SQL anidadas dentro de otras consultas.
  • Operaciones de conjuntos: Operaciones que combinan los resultados de varias consultas, como unión, intersección y diferencia.
  • Joins (INNER, LEFT, RIGHT, FULL): Mecanismos para combinar datos de múltiples tablas basadas en relaciones lógicas.
  • Alias: Nombres alternativos asignados a tablas o columnas para simplificar las consultas.

1. Fundamentos del Lenguaje SQL

  • SQL (Structured Query Language) es un lenguaje estructurado de consultas utilizado para extraer información de bases de datos relacionales.
  • Es una habilidad indispensable para programadores y profesionales que trabajan con datos en áreas como marketing y finanzas.
  • SQL es una inversión a largo plazo, ya que el estándar básico se mantiene constante a lo largo del tiempo.
  • El tutorial se centra en la extracción de datos, es decir, en la creación de consultas para obtener información simple o compleja.
  • Se utilizará SQLite como base de datos, pero los conocimientos adquiridos son aplicables a otros gestores como MySQL, SQL Server, Oracle, PostgreSQL, etc.
  • La base de datos de ejemplo Northwind, creada por Microsoft, simula una empresa de compraventa de alimentos con ventas a nivel mundial.

2. Montaje del Entorno de Trabajo con SQLite

  • SQLite es una base de datos gratuita, open source, rápida y pequeña, compatible con el estándar SQL.
  • Se utilizará DB Browser for SQLite como interfaz gráfica para interactuar con la base de datos.
  • El proceso de instalación de DB Browser for SQLite es sencillo y rápido, disponible para Windows, macOS y Linux.
  • La base de datos Northwind se descargará y abrirá con DB Browser for SQLite para explorar su estructura y contenido.

3. Estructura de la Base de Datos Northwind

  • La base de datos Northwind contiene varias tablas relacionadas entre sí, cada una con información sobre una parte del negocio.
  • Las tablas principales son:
    • Products: Información de los productos (nombre, proveedor, categoría).
    • Suppliers: Información de los proveedores.
    • Categories: Información de las categorías de productos.
    • Customers: Información de los clientes.
    • Orders: Información de los pedidos (fecha, cliente, empleado, transportista).
    • Employees: Información de los empleados.
    • Shippers: Información de las empresas de transporte.
    • Order Details: Detalles de cada pedido (producto, precio, cantidad, descuento).
  • Las relaciones entre las tablas se establecen a través de claves externas (foreign keys).
  • La tabla Employees tiene una relación consigo misma a través del campo "ReportsTo", que indica quién es el jefe de cada empleado.

4. Consultas de Selección Básicas (SELECT, FROM, WHERE, ORDER BY)

  • La cláusula SELECT se utiliza para especificar los campos que se quieren obtener de la base de datos.
  • El asterisco (*) se utiliza para seleccionar todos los campos de una tabla.
  • La cláusula FROM se utiliza para especificar la tabla de la que se quieren obtener los datos.
  • La cláusula WHERE se utiliza para filtrar los resultados de la consulta, especificando una o varias condiciones.
  • Las condiciones se componen de un campo, un operador (igual, mayor, menor, etc.) y un valor.
  • Se pueden combinar varias condiciones con los operadores lógicos AND (y) y OR (o).
  • Existen operadores especiales para las comparaciones en la cláusula WHERE:
    • LIKE: Para buscar cadenas de texto con patrones (ej: WHERE city LIKE '%London%').
    • BETWEEN: Para buscar valores dentro de un rango (ej: WHERE orderDate BETWEEN '2023-01-01' AND '2023-03-31').
    • IS NULL / IS NOT NULL: Para buscar registros con un campo vacío (nulo) o no vacío.
  • La cláusula ORDER BY se utiliza para ordenar los resultados de la consulta por uno o varios campos, en orden ascendente (ASC) o descendente (DESC).
  • Se puede concatenar cadenas de texto con el operador || (doble barra vertical).
  • Se puede asignar un alias a un campo con la palabra clave AS (ej: SELECT firstName || ' ' || lastName AS fullName).
  • La palabra clave DISTINCT se utiliza para obtener solo los valores únicos de un campo.

5. Consultas Multi-Tabla (JOIN)

  • Para obtener información de varias tablas relacionadas, se utiliza la cláusula JOIN.
  • Existen diferentes tipos de JOIN:
    • INNER JOIN: Devuelve solo los registros que coinciden en ambas tablas.
    • LEFT JOIN (o LEFT OUTER JOIN): Devuelve todos los registros de la tabla de la izquierda (la primera tabla mencionada en la consulta) y los registros coincidentes de la tabla de la derecha. Si no hay coincidencia, los campos de la tabla de la derecha serán nulos.
    • RIGHT JOIN (o RIGHT OUTER JOIN): Devuelve todos los registros de la tabla de la derecha y los registros coincidentes de la tabla de la izquierda. Si no hay coincidencia, los campos de la tabla de la izquierda serán nulos. (No soportado en SQLite)
    • FULL JOIN (o FULL OUTER JOIN): Devuelve todos los registros de ambas tablas, independientemente de si hay coincidencia o no. (No soportado en SQLite)
  • La cláusula ON se utiliza para especificar la condición de unión entre las tablas, es decir, los campos que se utilizan para relacionarlas.
  • Se pueden utilizar alias para las tablas para simplificar la consulta (ej: FROM Customers AS c JOIN Orders AS o ON c.customerID = o.customerID).
  • En caso de ambigüedad (campos con el mismo nombre en varias tablas), es necesario especificar la tabla a la que pertenece el campo (ej: SELECT c.customerID, o.orderDate).

6. Subconsultas

  • Las subconsultas son consultas SQL anidadas dentro de otras consultas.
  • Se pueden utilizar en la cláusula WHERE para filtrar los resultados de la consulta principal (ej: WHERE customerID IN (SELECT customerID FROM Orders)).
  • También se pueden utilizar en la cláusula SELECT para obtener valores calculados (ej: SELECT productName, (SELECT AVG(unitPrice) FROM Products) AS averagePrice).
  • Se pueden utilizar alias para las subconsultas para simplificar la consulta (ej: SELECT productName, (SELECT AVG(unitPrice) FROM Products) AS averagePrice FROM Products AS p).
  • La instrucción EXPLAIN QUERY PLAN permite analizar el plan de ejecución de una consulta y optimizar su rendimiento.

7. Operaciones de Conjuntos (UNION, INTERSECT, EXCEPT)

  • Las operaciones de conjuntos permiten combinar los resultados de varias consultas que son compatibles (es decir, que tienen el mismo número de columnas y los mismos tipos de datos).
  • UNION: Devuelve la unión de los resultados de ambas consultas, eliminando los duplicados.
  • UNION ALL: Devuelve la unión de los resultados de ambas consultas, incluyendo los duplicados.
  • INTERSECT: Devuelve la intersección de los resultados de ambas consultas, es decir, solo los registros que están presentes en ambas consultas.
  • EXCEPT (o MINUS): Devuelve la diferencia de los resultados de ambas consultas, es decir, solo los registros que están presentes en la primera consulta pero no en la segunda.

8. Funciones de Agregación y Agrupamiento (COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING)

  • Las funciones de agregación realizan cálculos sobre un conjunto de valores y devuelven un único valor.
  • Las funciones de agregación estándar son:
    • COUNT: Cuenta el número de registros.
    • SUM: Suma los valores de un campo.
    • AVG: Calcula el promedio de los valores de un campo.
    • MIN: Obtiene el valor mínimo de un campo.
    • MAX: Obtiene el valor máximo de un campo.
  • La cláusula GROUP BY se utiliza para agrupar los resultados de la consulta por uno o varios campos.
  • Todos los campos que no estén en una función de agregación deben estar en la cláusula GROUP BY.
  • La cláusula HAVING se utiliza para filtrar los resultados de la consulta después de haberlos agrupado, especificando una o varias condiciones sobre los campos agregados.
  • La cláusula WHERE se utiliza para filtrar los resultados de la consulta antes de agruparlos.

9. Conclusión

El tutorial proporciona una base sólida para comprender y utilizar SQL para extraer información de bases de datos relacionales. Se cubren los conceptos fundamentales, desde las consultas básicas hasta las consultas multi-tabla, las subconsultas, las operaciones de conjuntos y las funciones de agregación. Se utiliza SQLite como base de datos de ejemplo, pero los conocimientos adquiridos son aplicables a otros gestores de bases de datos. Se anima al usuario a practicar y profundizar en el lenguaje SQL para aprovechar al máximo su potencial.

AI summaries can miss context or contain errors. Check important details against the original video.

MAKE IT YOURS

Read. Remember. Reuse.

Free tools

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.