Libro de cocina SQL, 2ª edición

Book description

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Puede que conozcas los fundamentos de SQL, pero ¿estás aprovechando su potencia expresiva? Esta segunda edición aplica un enfoque muy práctico al Lenguaje de Consulta Estructurado (SQL) para que puedas crear y manipular grandes almacenes de datos. Basado en ejemplos del mundo real, este libro de cocina actualizado proporciona un marco para ayudarte a construir soluciones y ejemplos ejecutables en varios sabores de SQL, incluidos Oracle, DB2, SQL Server, MySQL y PostgreSQL.

Los programadores de SQL, los analistas, los científicos de datos, los administradores de bases de datos e incluso los usuarios relativamente ocasionales de SQL encontrarán en SQL Cookbook una valiosa guía de solución de problemas cotidianos. Ningún otro recurso ofrece recetas en este formato único para ayudarte a resolver los molestos enigmas cotidianos con SQL.

La segunda edición incluye:

  • Recetas totalmente revisadas que reconocen la mayor adopción de funciones de ventana en las implementaciones de SQL
  • Recetas adicionales que reflejan la adopción generalizada de expresiones comunes de tabla (CTE) para obtener soluciones más legibles y fáciles de implementar
  • Nuevas recetas para hacer que SQL sea más útil para las personas que no son expertas en bases de datos, incluidos los científicos de datos
  • Soluciones ampliadas para trabajar con números y cadenas
  • Recetas de SQL actualizadas en todo el libro para guiarte a través de los conceptos básicos

Table of contents

  1. Prefacio
    1. A quién va dirigido este libro
    2. Lo que falta en este libro
    3. Plataforma y versión
    4. Tablas utilizadas en este libro
    5. Convenciones utilizadas en este libro
    6. Aprendizaje en línea O'Reilly
    7. Cómo contactar con nosotros
    8. Segunda edición Agradecimientos
    9. Primera edición Agradecimientos
  2. 1. Recuperación de registros
    1. 1.1. Recuperar todas las filas y columnas de una tabla
    2. 1.2. Recuperar un subconjunto de filas de una tabla
    3. 1.3. Encontrar filas que cumplan varias condiciones
    4. 1.4. Recuperar un subconjunto de columnas de una tabla
    5. 1.5. Dar nombres significativos a las columnas
    6. 1.6. Referencia a una columna alias en la cláusula WHERE
    7. 1.7. Concatenar valores de columna
    8. 1.8. Uso de la lógica condicional en una sentencia SELECT
    9. 1.9. Limitar el número de filas devueltas
    10. 1.10. Obtener n registros aleatorios de una tabla
    11. 1.11. Encontrar valores nulos
    12. 1.12. Transformar nulos en valores reales
    13. 1.13. Buscar patrones
    14. 1.14. Resumen
  3. 2. Ordenar los resultados de la consulta
    1. 2.1. Mostrar los resultados de la consulta en un orden especificado
    2. 2.2. Ordenar por varios campos
    3. 2.3. Ordenar por subcadenas
    4. 2.4. Ordenar datos alfanuméricos mixtos
    5. 2.5. Cómo tratar los nulos en la ordenación
    6. 2.6. Ordenar según una clave dependiente de los datos
    7. 2.7. Resumen
  4. 3. Trabajar con varias tablas
    1. 3.1. Apilar un conjunto de filas sobre otro
    2. 3.2. Combinar filas relacionadas
    3. 3.3. Encontrar filas en común entre dos tablas
    4. 3.4. Recuperar valores de una tabla que no existen en otra
    5. 3.5. Recuperar filas de una tabla que no corresponden a filas de otra
    6. 3.6. Añadir uniones a una consulta sin interferir con otras uniones
    7. 3.7. Determinar si dos tablas tienen los mismos datos
    8. 3.8. Identificar y evitar los productos cartesianos
    9. 3.9. Cómo realizar uniones con agregados
    10. 3.10. Cómo realizar uniones externas con agregados
    11. 3.11. Devolución de datos perdidos de varias tablas
    12. 3.12. Uso de NULL en operaciones y comparaciones
    13. 3.13. Resumen
  5. 4. Insertar, actualizar y borrar
    1. 4.1. Insertar un nuevo registro
    2. 4.2. Insertar valores por defecto
    3. 4.3. Anular un valor por defecto con NULL
    4. 4.4. Copiar filas de una tabla a otra
    5. 4.5. Copiar una definición de tabla
    6. 4.6. Insertar en varias tablas a la vez
    7. 4.7. Bloqueo de inserciones en determinadas columnas
    8. 4.8. Modificar registros de una tabla
    9. 4.9. Actualizar cuando existen filas correspondientes
    10. 4.10. Actualizar con valores de otra tabla
    11. 4.11. Fusionar registros
    12. 4.12. Borrar todos los registros de una tabla
    13. 4.13. Borrar Registros Específicos
    14. 4.14. Borrar un único registro
    15. 4.15. Borrar violaciones de integridad referencial
    16. 4.16. Borrar Registros Duplicados
    17. 4.17. Borrar registros referenciados desde otra tabla
    18. 4.18. Resumen
  6. 5. Consultas de metadatos
    1. 5.1. Listar tablas en un esquema
    2. 5.2. Listar las columnas de una tabla
    3. 5.3. Listado de columnas indexadas de una tabla
    4. 5.4. Listado de restricciones de una tabla
    5. 5.5. Listado de claves foráneas sin índices correspondientes
    6. 5.6. Utilizar SQL para generar SQL
    7. 5.7. Descripción de las Vistas del Diccionario de Datos en una Base de Datos Oracle
    8. 5.8. Resumen
  7. 6. Trabajar con cadenas
    1. 6.1. Recorrer una cadena
    2. 6.2. Incrustar comillas dentro de literales de cadena
    3. 6.3. Contar las apariciones de un carácter en una cadena
    4. 6.4. Eliminar caracteres no deseados de una cadena
    5. 6.5. Separar datos numéricos y de caracteres
    6. 6.6. Determinar si una cadena es alfanumérica
    7. 6.7. Extraer las iniciales de un nombre
    8. 6.8. Ordenar por partes de una cadena
    9. 6.9. Ordenar por un número en una cadena
    10. 6.10. Crear una lista delimitada a partir de filas de una tabla
    11. 6.11. Convertir datos delimitados en una lista IN multivaluada
    12. 6.12. Alfabetizar una cadena
    13. 6.13. Identificar cadenas que pueden tratarse como números
    14. 6.14. Extraer la enésima subcadena delimitada
    15. 6.15. Análisis de una dirección IP
    16. 6.16. Comparar cadenas por sonido
    17. 6.17. Encontrar texto que no coincide con un patrón
    18. 6.18. Resumen
  8. 7. Trabajar con números
    1. 7.1. Cálculo de la media
    2. 7.2. Encontrar el valor mínimo/máximo de una columna
    3. 7.3. Sumar los valores de una columna
    4. 7.4. Contar filas en una tabla
    5. 7.5. Contar valores en una columna
    6. 7.6. Generar un total acumulado
    7. 7.7. Generar un producto en ejecución
    8. 7.8. Suavizar una serie de valores
    9. 7.9. Calcular un modo
    10. 7.10. Cálculo de la mediana
    11. 7.11. Determinar el porcentaje de un total
    12. 7.12. Agregar columnas anulables
    13. 7.13. Cálculo de medias sin valores altos ni bajos
    14. 7.14. Convertir cadenas alfanuméricas en números
    15. 7.15. Modificar los valores de un total acumulado
    16. 7.16. Encontrar valores atípicos utilizando la desviación absoluta de la mediana
    17. 7.17. Encontrar anomalías mediante la Ley de Benford
    18. 7.18. Resumen
  9. 8. Aritmética de fechas
    1. 8.1. Sumar y restar días, meses y años
    2. 8.2. Determinar el número de días entre dos fechas
    3. 8.3. Determinación del número de días hábiles entre dos fechas
    4. 8.4. Determinar el número de meses o años entre dos fechas
    5. 8.5. Determinar el número de segundos, minutos u horas entre dos fechas
    6. 8.6. Contar las ocurrencias de días laborables en un año
    7. 8.7. Determinar la diferencia de fecha entre el registro actual y el siguiente
    8. 8.8. Resumen
  10. 9. Manipulación de fechas
    1. 9.1. Determinar si un año es bisiesto
    2. 9.2. Determinar el número de días de un año
    3. 9.3. Extraer unidades de tiempo de una fecha
    4. 9.4. Determinar el primer y último día de un mes
    5. 9.5. Determinar todas las fechas de un determinado día de la semana a lo largo de un año
    6. 9.6. Determinar la fecha de la primera y última aparición de un día de la semana concreto en un mes
    7. 9.7. Crear un Calendario
    8. 9.8. Listado de fechas de inicio y fin de trimestre del año
    9. 9.9. Determinar las fechas de inicio y fin de trimestre para un trimestre dado
    10. 9.10. Rellenar las fechas que faltan
    11. 9.11. Buscar en unidades de tiempo específicas
    12. 9.12. Comparar registros utilizando partes específicas de una fecha
    13. 9.13. Identificar intervalos de fechas que se solapan
    14. 9.14. Resumen
  11. 10. Trabajar con rangos
    1. 10.1. Localizar un rango de valores consecutivos
    2. 10.2. Encontrar diferencias entre filas del mismo grupo o partición
    3. 10.3. Localizar el principio y el final de un intervalo de valores consecutivos
    4. 10.4. Rellenar los valores que faltan en un intervalo de valores
    5. 10.5. Generar valores numéricos consecutivos
    6. 10.6. Resumen
  12. 11. Búsqueda avanzada
    1. 11.1. Paginar un conjunto de resultados
    2. 11.2. Saltar n filas de una tabla
    3. 11.3. Incorporar la lógica OR al utilizar uniones externas
    4. 11.4. Determinar qué filas son recíprocas
    5. 11.5. Seleccionar los n registros principales
    6. 11.6. Encontrar los registros con los valores más altos y más bajos
    7. 11.7. Investigar futuras filas
    8. 11.8. Desplazamiento de valores de fila
    9. 11.9. Resultados de la clasificación
    10. 11.10. Suprimir duplicados
    11. 11.11. Encontrar valores de caballero
    12. 11.12. Generar previsiones simples
    13. 11.13. Resumen
  13. 12. Informar y remodelar
    1. 12.1. Pivotar un Conjunto de Resultados en una Fila
    2. 12.2. Pivotar un Conjunto de Resultados en Varias Filas
    3. 12.3. Pivotar inversamente un conjunto de resultados
    4. 12.4. Pivotar inversamente un conjunto de resultados en una columna
    5. 12.5. Suprimir valores repetidos de un conjunto de resultados
    6. 12.6. Pivotar un Conjunto de Resultados para Facilitar los Cálculos entre Filas
    7. 12.7. Crear cubos de datos de tamaño fijo
    8. 12.8. Crear un número predefinido de cubos
    9. 12.9. Crear histogramas horizontales
    10. 12.10. Crear histogramas verticales
    11. 12.11. Devolución de columnas no agrupadas por
    12. 12.12. Cálculo de subtotales simples
    13. 12.13. Calcular los subtotales de todas las combinaciones de expresiones posibles
    14. 12.14. Identificar filas que no son subtotales
    15. 12.15. Usar expresiones de caso para marcar filas
    16. 12.16. Crear una matriz dispersa
    17. 12.17. Agrupar filas por unidades de tiempo
    18. 12.18. Realizar agregaciones sobre diferentes grupos/particiones simultáneamente
    19. 12.19. Realizar agregaciones sobre un rango móvil de valores
    20. 12.20. Pivotar un conjunto de resultados con subtotales
    21. 12.21. Resumen
  14. 13. Consultas jerárquicas
    1. 13.1. Expresar una relación paterno-filial
    2. 13.2. Expresar una relación hijo-padre-abuelo
    3. 13.3. Crear una vista jerárquica de una tabla
    4. 13.4. Encontrar todas las filas hijas de una fila padre dada
    5. 13.5. Determinar qué filas sonnodos hoja, rama oraíz
    6. 13.6. Resumen
  15. 14. Cosas raras
    1. 14.1. Creación de informes cruzados utilizando el operador PIVOT de SQL Server
    2. 14.2. Despivotar un Informe de Tablas Cruzadas Utilizando el Operador UNPIVOT de SQL Server
    3. 14.3. Transposición de un Conjunto de Resultados Utilizando la Cláusula MODELO de Oracle
    4. 14.4. Extraer elementos de una cadena de lugares no fijos
    5. 14.5. Encontrar el número de días de un año (una solución alternativa para Oracle)
    6. 14.6. Buscar cadenas alfanuméricas mixtas
    7. 14.7. Convertir números enteros a binarios con Oracle
    8. 14.8. Pivotar un conjunto de resultados ordenados
    9. 14.9. Añadir una cabecera de columna a un conjunto de resultados de doble pivote
    10. 14.10. Conversión de una Subconsulta Escalar a una Subconsulta Compuesta en Oracle
    11. 14.11. Análisis sintáctico de datos serializados en filas
    12. 14.12. Cálculo del porcentaje relativo al total
    13. 14.13. Comprobar la existencia de un valor dentro de un grupo
    14. 14.14. Resumen
  16. Repaso de la Función Ventana
    1. Agrupación
    2. Ventana
  17. Expresiones comunes de la tabla
    1. Subconsultas
    2. Expresiones comunes de la tabla
    3. Resumen
  18. Índice

Product information

  • Title: Libro de cocina SQL, 2ª edición
  • Author(s): Anthony Molinaro, Robert de Graaf
  • Release date: September 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098199913