Este documento describe diferentes tipos de consultas SQL para seleccionar y filtrar datos de una base de datos. Explica cómo devolver campos específicos o todos los campos de una tabla, ordenar y agrupar resultados, unir tablas, y usar operadores y funciones en consultas. También cubre el uso de condiciones WHERE, ORDER BY, GROUP BY, y JOINs para filtrar y organizar los datos devueltos de manera efectiva.
Este documento describe el álgebra relacional, un lenguaje de consulta que utiliza operaciones como selección, proyección, unión, diferencia de conjuntos y producto cartesiano sobre relaciones para generar nuevas relaciones. También introduce otras operaciones como intersección de conjuntos, reunión natural y renombramiento, las cuales pueden expresarse en términos de las operaciones fundamentales.
El documento describe el álgebra relacional y el cálculo relacional, que son lenguajes formales asociados al modelo relacional de bases de datos. Explica las cinco operaciones básicas del álgebra relacional (selección, proyección, producto cartesiano, unión y diferencia) y cómo construir consultas en el cálculo relacional de tuplas y dominios. También cubre conceptos como la combinación, división y lenguajes de manipulación de datos relacionales.
Este documento resume los conceptos clave del álgebra y cálculo relacional, incluyendo las operaciones básicas como selección, proyección, unión, diferencia e intersección. También explica operaciones más complejas como el join y agregaciones, así como cómo se pueden usar estas operaciones para realizar consultas, inserciones, actualizaciones y eliminaciones en una base de datos.
El documento describe el modelo de datos relacional propuesto por Dr. Edgar Frank Codd en 1970. Codd definió que los sistemas de bases de datos deberían presentar los datos organizados en estructuras llamadas relaciones y que el usuario solo debería preocuparse por consultar la información sin importar la estructura de almacenamiento subyacente. El álgebra relacional consiste en operaciones que permiten manipular relaciones enteras cuyo resultado es una nueva relación.
El documento describe las operaciones fundamentales del álgebra relacional, que incluyen selección, proyección, unión, diferencia de conjuntos y producto cartesiano. También habla sobre otras operaciones como agregación y reunión externa, y cómo el álgebra relacional se ha ampliado para permitir operaciones aritméticas y manejar valores nulos.
El documento describe tres funciones de Excel: CONTAR para contar celdas numéricas, CONTAR.BLANCO para contar celdas vacías, y CONTAR.SI para contar celdas que cumplen un criterio. También explica que una función contiene un nombre, la función, un argumento y un rango.
Este documento explica cómo definir criterios de filtrado en Excel para seleccionar registros de una base de datos que cumplan condiciones específicas. Describe cómo reservar una zona para los criterios y escribir las condiciones usando operadores como =, >, Y u O. También presenta funciones como BDCONTAR y BDSUMA para realizar cálculos estadísticos sobre los registros filtrados.
Este documento describe el álgebra relacional, un lenguaje de consulta que utiliza operaciones como selección, proyección, unión, diferencia de conjuntos y producto cartesiano sobre relaciones para generar nuevas relaciones. También introduce otras operaciones como intersección de conjuntos, reunión natural y renombramiento, las cuales pueden expresarse en términos de las operaciones fundamentales.
El documento describe el álgebra relacional y el cálculo relacional, que son lenguajes formales asociados al modelo relacional de bases de datos. Explica las cinco operaciones básicas del álgebra relacional (selección, proyección, producto cartesiano, unión y diferencia) y cómo construir consultas en el cálculo relacional de tuplas y dominios. También cubre conceptos como la combinación, división y lenguajes de manipulación de datos relacionales.
Este documento resume los conceptos clave del álgebra y cálculo relacional, incluyendo las operaciones básicas como selección, proyección, unión, diferencia e intersección. También explica operaciones más complejas como el join y agregaciones, así como cómo se pueden usar estas operaciones para realizar consultas, inserciones, actualizaciones y eliminaciones en una base de datos.
El documento describe el modelo de datos relacional propuesto por Dr. Edgar Frank Codd en 1970. Codd definió que los sistemas de bases de datos deberían presentar los datos organizados en estructuras llamadas relaciones y que el usuario solo debería preocuparse por consultar la información sin importar la estructura de almacenamiento subyacente. El álgebra relacional consiste en operaciones que permiten manipular relaciones enteras cuyo resultado es una nueva relación.
El documento describe las operaciones fundamentales del álgebra relacional, que incluyen selección, proyección, unión, diferencia de conjuntos y producto cartesiano. También habla sobre otras operaciones como agregación y reunión externa, y cómo el álgebra relacional se ha ampliado para permitir operaciones aritméticas y manejar valores nulos.
El documento describe tres funciones de Excel: CONTAR para contar celdas numéricas, CONTAR.BLANCO para contar celdas vacías, y CONTAR.SI para contar celdas que cumplen un criterio. También explica que una función contiene un nombre, la función, un argumento y un rango.
Este documento explica cómo definir criterios de filtrado en Excel para seleccionar registros de una base de datos que cumplan condiciones específicas. Describe cómo reservar una zona para los criterios y escribir las condiciones usando operadores como =, >, Y u O. También presenta funciones como BDCONTAR y BDSUMA para realizar cálculos estadísticos sobre los registros filtrados.
Este documento describe las principales funciones del lenguaje SQL para manipular datos en una base de datos. SQL permite insertar, actualizar, eliminar y seleccionar datos de tablas mediante sentencias como INSERT, UPDATE, DELETE y SELECT. También incluye operadores para filtrar datos, ordenar resultados y realizar cálculos estadísticos.
Este documento presenta una serie de ejercicios SQL para practicar la creación de bases de datos, tablas, inserción de datos y consultas. Explica los pasos para crear una base de datos y tablas con integridad referencial, insertar múltiples registros de datos en las tablas, y ofrece soluciones a 14 ejercicios de consultas SQL utilizando selecciones, joins, subconsultas y otros operadores.
El documento explica las funciones condicionales SI y CONTAR.SI en Excel. La función SI devuelve un valor u otro dependiendo de si una condición es verdadera o falsa. La función CONTAR.SI cuenta el número de celdas de un rango que cumplen un criterio. También explica la función SUMAR.SI, que suma los valores de las celdas de un rango que cumplen un criterio.
Este documento define y explica el uso de diferentes funciones para contar y sumar en Excel, incluyendo CONTAR, CONTAR.SI, CONTARA, CONTAR.BLANCO y SUMAR.SI. Describe qué hace cada función, sus argumentos y sintaxis. También incluye ejemplos de cómo usar estas funciones para contar y sumar valores en un rango de celdas según diferentes criterios.
Este documento describe el álgebra relacional, un conjunto de operaciones que actúan sobre relaciones y producen otras relaciones como resultado. Describe los operadores básicos como unión, diferencia, producto cartesiano, selección y proyección, así como operadores derivados como intersección, join y división. Explica cada operador con ejemplos sencillos para ilustrar su funcionamiento.
El documento describe las principales características y herramientas de Excel, incluyendo la pantalla inicial, barras de herramientas, funciones, filtros y funciones estadísticas. Excel permite crear y editar hojas de cálculo a través de una cuadrícula de celdas. Incluye funciones predefinidas para realizar cálculos matemáticos y estadísticos, así como herramientas para filtrar y analizar datos.
Este documento explica la función CONTAR.SI() en Excel para contar celdas que cumplen con una condición. Proporciona ejemplos de cómo usarla para contar números mayores que 10, positivos vs. negativos, y celdas que contienen un texto específico como "pizza". También define el rango de celdas y el criterio que determina qué celdas se contarán.
El documento describe las operaciones básicas del álgebra relacional, incluyendo selección, proyección, producto cartesiano, unión, diferencia e intersección. Estas operaciones permiten manipular relaciones al permitir seleccionar subconjuntos de tuplas y atributos, combinar relaciones, y realizar otras operaciones. El álgebra relacional proporciona un conjunto de herramientas para resolver consultas complejas en bases de datos usando conceptos matemáticos como la teoría de conjuntos.
Este documento presenta un manual sobre el lenguaje SQL de Oracle. Explica los comandos básicos de SQL como SELECT, las cláusulas WHERE y ORDER BY, y funciones para manipular cadenas, números y fechas. También cubre temas como productos cartesianos entre tablas y el uso de múltiples tablas en consultas.
Este documento describe los lenguajes de manipulación de datos, que son lenguajes que permiten consultar y modificar bases de datos. Explica los tipos de lenguajes (procedimentales y no procedimentales), su evolución histórica, y describe operadores relacionales como selección, proyección, unión, diferencia, producto cartesiano y renombre.
Este documento describe las funciones de entrada y salida (E/S) básicas en C, incluyendo E/S de caracteres, cadenas y formateada. Explica funciones como getche(), puts(), scanf() y printf() y cómo se usan para leer y escribir datos desde y hacia la consola de manera formateada.
El documento proporciona información sobre las hojas de cálculo de Excel. Describe la estructura básica de filas y columnas, cómo se identifican las celdas, y los tres libros de trabajo predeterminados. También explica elementos clave como cambiar el nombre de la hoja, seleccionar rangos de celdas, ingresar datos, realizar operaciones básicas y usar fórmulas y funciones.
El documento describe varias funciones de Excel para realizar cálculos condicionales. Explica la función CONTAR para contar el número de celdas que contienen números. Luego describe las funciones CONTAR.SI y SUMAR.SI, las cuales cuentan o suman celdas que cumplen con criterios especificados. Finalmente, explica la función SI, la cual devuelve un valor u otro dependiendo de si una condición lógica es verdadera o falsa.
El documento proporciona instrucciones sobre el uso de fórmulas y funciones en Microsoft Excel. Explica cómo crear fórmulas para sumar, multiplicar y copiar fórmulas a otras celdas, y cómo usar funciones como SUMA, PROMEDIO, BUSCAR, BUSCARV y BUSCARH para calcular valores basados en rangos de celdas. También cubre el uso de referencias absolutas, mixtas y relativas al copiar fórmulas.
El documento presenta conceptos sobre el álgebra relacional, que permite operar con el modelo relacional mediante operadores que toman relaciones como operandos y devuelven una relación como resultado. Se describen 8 operadores iniciales clasificados en tradicionales de teoría de conjuntos y especiales, así como operadores adicionales. Se incluyen ejemplos para ilustrar cada operador.
Expresiones regulares son patrones que se usan para buscar coincidencias en cadenas de texto. Se componen de un patrón o patrones a buscar y modificadores como cuantificadores que definen la frecuencia de aparición. Existen tres formas de declarar expresiones regulares en JavaScript y el objeto RegExp proporciona métodos como exec(), test(), match() para realizar búsquedas.
Este documento proporciona una introducción a las funciones más comunes en PHP, incluyendo funciones matemáticas como round() y ceil(), funciones para manejar fechas y cadenas, funciones para enviar correos electrónicos, y una explicación básica de cómo definir y usar funciones en PHP.
Este documento explica las operaciones básicas de manipulación de datos (CRUD) en SQL, incluyendo SELECT para consultar datos, INSERT para insertar filas, UPDATE para actualizar datos e DELETE para eliminar filas. Se detalla la sintaxis básica de SELECT, con cláusulas como DISTINCT, WHERE, ORDER BY y ejemplos de su uso.
El documento proporciona una introducción al lenguaje de consultas estructuradas SQL. Explica que SQL se utiliza principalmente para bases de datos relacionales, es declarativo y fue desarrollado por IBM en los años 70. Describe las sentencias DDL, DML y DCL de SQL y los tipos de datos soportados.
El documento proporciona una introducción al lenguaje de consultas estructuradas SQL. Explica que SQL se utiliza principalmente para bases de datos relacionales, es declarativo y fue desarrollado por IBM en los años 70. Describe las sentencias DDL, DML y DCL de SQL y los tipos de datos soportados.
Este documento describe las principales funciones del lenguaje SQL para manipular datos en una base de datos. SQL permite insertar, actualizar, eliminar y seleccionar datos de tablas mediante sentencias como INSERT, UPDATE, DELETE y SELECT. También incluye operadores para filtrar datos, ordenar resultados y realizar cálculos estadísticos.
Este documento presenta una serie de ejercicios SQL para practicar la creación de bases de datos, tablas, inserción de datos y consultas. Explica los pasos para crear una base de datos y tablas con integridad referencial, insertar múltiples registros de datos en las tablas, y ofrece soluciones a 14 ejercicios de consultas SQL utilizando selecciones, joins, subconsultas y otros operadores.
El documento explica las funciones condicionales SI y CONTAR.SI en Excel. La función SI devuelve un valor u otro dependiendo de si una condición es verdadera o falsa. La función CONTAR.SI cuenta el número de celdas de un rango que cumplen un criterio. También explica la función SUMAR.SI, que suma los valores de las celdas de un rango que cumplen un criterio.
Este documento define y explica el uso de diferentes funciones para contar y sumar en Excel, incluyendo CONTAR, CONTAR.SI, CONTARA, CONTAR.BLANCO y SUMAR.SI. Describe qué hace cada función, sus argumentos y sintaxis. También incluye ejemplos de cómo usar estas funciones para contar y sumar valores en un rango de celdas según diferentes criterios.
Este documento describe el álgebra relacional, un conjunto de operaciones que actúan sobre relaciones y producen otras relaciones como resultado. Describe los operadores básicos como unión, diferencia, producto cartesiano, selección y proyección, así como operadores derivados como intersección, join y división. Explica cada operador con ejemplos sencillos para ilustrar su funcionamiento.
El documento describe las principales características y herramientas de Excel, incluyendo la pantalla inicial, barras de herramientas, funciones, filtros y funciones estadísticas. Excel permite crear y editar hojas de cálculo a través de una cuadrícula de celdas. Incluye funciones predefinidas para realizar cálculos matemáticos y estadísticos, así como herramientas para filtrar y analizar datos.
Este documento explica la función CONTAR.SI() en Excel para contar celdas que cumplen con una condición. Proporciona ejemplos de cómo usarla para contar números mayores que 10, positivos vs. negativos, y celdas que contienen un texto específico como "pizza". También define el rango de celdas y el criterio que determina qué celdas se contarán.
El documento describe las operaciones básicas del álgebra relacional, incluyendo selección, proyección, producto cartesiano, unión, diferencia e intersección. Estas operaciones permiten manipular relaciones al permitir seleccionar subconjuntos de tuplas y atributos, combinar relaciones, y realizar otras operaciones. El álgebra relacional proporciona un conjunto de herramientas para resolver consultas complejas en bases de datos usando conceptos matemáticos como la teoría de conjuntos.
Este documento presenta un manual sobre el lenguaje SQL de Oracle. Explica los comandos básicos de SQL como SELECT, las cláusulas WHERE y ORDER BY, y funciones para manipular cadenas, números y fechas. También cubre temas como productos cartesianos entre tablas y el uso de múltiples tablas en consultas.
Este documento describe los lenguajes de manipulación de datos, que son lenguajes que permiten consultar y modificar bases de datos. Explica los tipos de lenguajes (procedimentales y no procedimentales), su evolución histórica, y describe operadores relacionales como selección, proyección, unión, diferencia, producto cartesiano y renombre.
Este documento describe las funciones de entrada y salida (E/S) básicas en C, incluyendo E/S de caracteres, cadenas y formateada. Explica funciones como getche(), puts(), scanf() y printf() y cómo se usan para leer y escribir datos desde y hacia la consola de manera formateada.
El documento proporciona información sobre las hojas de cálculo de Excel. Describe la estructura básica de filas y columnas, cómo se identifican las celdas, y los tres libros de trabajo predeterminados. También explica elementos clave como cambiar el nombre de la hoja, seleccionar rangos de celdas, ingresar datos, realizar operaciones básicas y usar fórmulas y funciones.
El documento describe varias funciones de Excel para realizar cálculos condicionales. Explica la función CONTAR para contar el número de celdas que contienen números. Luego describe las funciones CONTAR.SI y SUMAR.SI, las cuales cuentan o suman celdas que cumplen con criterios especificados. Finalmente, explica la función SI, la cual devuelve un valor u otro dependiendo de si una condición lógica es verdadera o falsa.
El documento proporciona instrucciones sobre el uso de fórmulas y funciones en Microsoft Excel. Explica cómo crear fórmulas para sumar, multiplicar y copiar fórmulas a otras celdas, y cómo usar funciones como SUMA, PROMEDIO, BUSCAR, BUSCARV y BUSCARH para calcular valores basados en rangos de celdas. También cubre el uso de referencias absolutas, mixtas y relativas al copiar fórmulas.
El documento presenta conceptos sobre el álgebra relacional, que permite operar con el modelo relacional mediante operadores que toman relaciones como operandos y devuelven una relación como resultado. Se describen 8 operadores iniciales clasificados en tradicionales de teoría de conjuntos y especiales, así como operadores adicionales. Se incluyen ejemplos para ilustrar cada operador.
Expresiones regulares son patrones que se usan para buscar coincidencias en cadenas de texto. Se componen de un patrón o patrones a buscar y modificadores como cuantificadores que definen la frecuencia de aparición. Existen tres formas de declarar expresiones regulares en JavaScript y el objeto RegExp proporciona métodos como exec(), test(), match() para realizar búsquedas.
Este documento proporciona una introducción a las funciones más comunes en PHP, incluyendo funciones matemáticas como round() y ceil(), funciones para manejar fechas y cadenas, funciones para enviar correos electrónicos, y una explicación básica de cómo definir y usar funciones en PHP.
Este documento explica las operaciones básicas de manipulación de datos (CRUD) en SQL, incluyendo SELECT para consultar datos, INSERT para insertar filas, UPDATE para actualizar datos e DELETE para eliminar filas. Se detalla la sintaxis básica de SELECT, con cláusulas como DISTINCT, WHERE, ORDER BY y ejemplos de su uso.
El documento proporciona una introducción al lenguaje de consultas estructuradas SQL. Explica que SQL se utiliza principalmente para bases de datos relacionales, es declarativo y fue desarrollado por IBM en los años 70. Describe las sentencias DDL, DML y DCL de SQL y los tipos de datos soportados.
El documento proporciona una introducción al lenguaje de consultas estructuradas SQL. Explica que SQL se utiliza principalmente para bases de datos relacionales, es declarativo y fue desarrollado por IBM en los años 70. Describe las sentencias DDL, DML y DCL de SQL y los tipos de datos soportados.
1. El documento describe el lenguaje SQL y algunas de sus sentencias clave como SELECT, FROM, WHERE y GROUP BY, las cuales permiten consultar y resumir datos almacenados en bases de datos relacionales.
2. También presenta ejemplos del uso de funciones estadísticas como COUNT, SUM, AVG, MAX y MIN junto con operadores lógicos como AND, OR e IN para filtrar resultados.
3. Finalmente, incluye ejemplos completos del uso de distintas sentencias SQL como SELECT, UPDATE y DELETE en diferentes contextos.
El documento presenta una guía sobre el uso de sentencias SQL para modificar, eliminar e insertar registros en tablas de una base de datos. Explica las sentencias SELECT, INSERT, DELETE, UPDATE y el uso de cláusulas como WHERE, GROUP BY y HAVING. También incluye ejemplos de consultas, funciones de agregado, creación de tablas y manipulación de datos.
Introducción a sql consultas y criterios de selecciónM.c. Omar Jasso
Este documento presenta una introducción a Transact-SQL, incluyendo una descripción de consultas de selección, criterios de selección, agrupamiento de registros y funciones agregadas, consultas de actualización, subconsultas, consultas cruzadas y uniones internas y externas. Explica conceptos como predicados, ordenamiento, operadores lógicos y de comparación para filtrar datos en consultas SQL.
El documento explica cómo se utilizan los comandos SQL SELECT para seleccionar datos de tablas almacenadas en una base de datos. Explica que SELECT permite recuperar información específica de columnas y tablas, y que la estructura básica es SELECT 'nombre_columna' FROM 'nombre_tabla'. Luego, introduce palabras claves como DISTINCT, WHERE, BETWEEN, IN, LIKE, ORDER BY y funciones como COUNT, SUM, AVG, que permiten filtrar y ordenar los resultados de una consulta SQL de manera más específica.
Este documento describe varias funciones básicas de Excel, incluyendo funciones de texto, lógicas, matemáticas y estadísticas. Explica cómo usar funciones como IZQUIERDA, DERECHA, EXTRAE, ENCONTRAR y otras para manipular texto, así como funciones SI, SUMAR.SI y CONTAR.SI para realizar cálculos condicionales. También describe funciones estadísticas como PROMEDIO, MEDIANA, MODA, MAX y MIN para analizar datos numéricos.
Este documento proporciona una introducción a SQL y sus principales comandos y funciones. Explica el formato básico de SELECT y sus cláusulas como FROM, WHERE, GROUP BY y HAVING. También cubre operadores de comparación, lógicos, BETWEEN, LIKE, IN y DISTINCT, así como funciones para valores individuales como ROUND, NVL y TRUNC y funciones de grupo como AVG, MAX, COUNT y SUM. Finalmente, incluye ejemplos de consultas SQL con diferentes comandos y funciones.
Este documento describe las consultas de selección SQL para recuperar información de bases de datos. Las consultas básicas SELECT especifican los campos y tablas, y pueden ordenar y filtrar los resultados. También cubre la inserción de datos mediante sentencias INSERT para agregar filas individuales o múltiples a las tablas.
Este documento describe las principales funciones y cláusulas del lenguaje de consulta estructurado SQL, incluyendo SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, COUNT, SUM, DISTINCT, DISTINCTROW, TOP y UNION. Explica cómo se usan estas funciones y cláusulas para consultar, actualizar y administrar bases de datos relacionales.
Este documento describe el lenguaje de consultas estructuradas SQL y sus principales componentes. SQL se utiliza para manipular y consultar bases de datos. Incluye comandos para crear, actualizar y eliminar datos, así como cláusulas, operadores y funciones de agregado. También explica cómo realizar consultas de selección mediante predicados como DISTINCT, TOP e IN para recuperar datos de tablas internas y externas aplicando criterios de selección.
Este documento presenta una introducción al lenguaje de consultas estructurado (SQL). Explica los componentes básicos de SQL como comandos, cláusulas, operadores y funciones de agregado. Luego describe cómo se pueden usar estas herramientas para realizar consultas de selección, actualización, agrupamiento y más sobre bases de datos. El documento también cubre temas como criterios de selección, tipos de datos, subconsultas y estructuras de tablas.
Este documento proporciona una introducción al lenguaje de consultas estructuradas (SQL) y sus principales componentes y comandos. Explica cómo se pueden realizar consultas básicas, agregar cláusulas como WHERE y GROUP BY, y utilizar funciones de agregado. También cubre temas como ordenar resultados, alias de columnas, predicados como DISTINCT y TOP, y tipos de operadores lógicos y de comparación.
Este documento describe diferentes consultas SQL para seleccionar, modificar y resumir datos de bases de datos. Explica cómo escribir sentencias SELECT con cláusulas como WHERE, GROUP BY y ORDER BY, así como sentencias para enlazar múltiples tablas. También cubre cómo insertar, actualizar y eliminar filas de una tabla usando las sentencias INSERT, UPDATE y DELETE.
El documento describe las consultas SQL básicas para seleccionar y recuperar datos de bases de datos. Explica cómo seleccionar campos específicos de una tabla, ordenar los resultados, usar índices, y recuperar datos de bases de datos externas. También cubre cómo insertar nuevos datos en tablas de forma individual o múltiple.
Este documento proporciona una introducción al lenguaje de consultas estructuradas SQL. Explica los componentes básicos de SQL como comandos, cláusulas, operadores y funciones de agregado. También describe cómo realizar consultas de selección básicas, ordenar resultados, agregar criterios de selección y funciones de agregado. Finalmente, cubre temas como actualizaciones, subconsultas y estructuras de tablas.
Visual Basic es un lenguaje de programación dirigido por eventos desarrollado por Microsoft para simplificar la creación de interfaces gráficas. SQL es un lenguaje declarativo para consultar y manipular bases de datos relacionales mediante comandos como SELECT, INSERT y UPDATE. El documento proporciona código Visual Basic para insertar, actualizar y consultar datos de una base de datos SQL Server.
Este documento presenta un taller sobre procesos de consultas en bases de datos. Explica los componentes principales del comando SELECT, incluyendo las cláusulas SELECT, FROM, WHERE, ORDER BY y TOP. También cubre conceptos como alias de tablas, tipos de datos en la lista de selección, la cláusula INTO y el uso de caracteres comodín en WHERE. El documento proporciona ejemplos y ejercicios prácticos para aplicar los conceptos.
Este documento describe el lenguaje SQL y sus objetivos. SQL permite crear, administrar y consultar bases de datos relacionales de manera portable y estándar. Permite realizar consultas simples y complejas, así como actualizar y administrar datos con comandos como SELECT, INSERT, UPDATE y DELETE.
miocardiopatia chagasica 1 de la universidade ufanoOnismarLopes
Femenino adulto mayor con dolor en cuadrante superior derecho, intenso, 8 horas de evolución. Ultimo alimento alto en grasas. Ingiere espasmolíticos sin mejoría. En urgencias con taquicardia, temp.37, signo Murphy (+). Tiene ultrasonido de hígado y vía biliar. Cual es el tratamiento que debe ofrecerse?
Paciente debe ser sometido a cirugia abierta
Colecistectomia laparoscópica
CPRE y posterior egreso
Ayuno, antibioticos y antiinflamatorios
1. Consultas SQL (SELECT)
Consultas sencillas
Devolver todos los campos de una tabla (SELECT *)
SELECT *
FROM CLIENTES
Con el * indicamos que queremos devolver todos los campos. Si CLIENTES dispone de los
campos idCliente, nombre y descripcion, lo anterior sería equivalente a:
SELECT idCliente, nombre, descripcion
FROM CLIENTES
Obviamente, al querer todos los campos, esto es innecesario y es por tanto más conveniente
emplear el asterisco (*). También sería equivalente emplear la notación completa:
SELECT CLIENTES.idCliente, CLIENTES.nombre, CLIENTES.descripcion
FROM CLIENTES
Al tener únicamente una tabla involucrada, podemos referirnos a los campos sin calificar, dado
que no hay duda de a qué tabla se refiere. Cuando veamos consultas sobre varias tablas
comprenderemos la necesidad de incluir esta notación calificada (TABLA.campo).
Devolver un subconjunto de los campos de una tabla (SELECT DISTINCT)
SELECT cp, ciudad
FROM DIRECCION
Esta consulta devolverá únicamente los campos cp (código postal) y ciudad de la tabla
DIRECCION. Al tener un subconjunto de los campos, éstos no tienen por qué incluir a la clave
de la tabla, por lo que no tienen por qué ser únicos. Así, si tenemos muchos registros referidos
a distintas calles y números de ese mismo código postal y ciudad, nos encontraremos muchos
registros repetidos. Esto puede evitarse haciendo:
SELECT DISTINCT cp, ciudad
FROM CLIENTES
Así se eliminan los registros repetidos, devolviendo únicamente una vez cada par cp, ciudad.
Esta selección de un subconjunto de los datos de la tabla y excluyendo repetidos se denomina
en álgebra relacional proyección.
Devolver un subconjunto de los registros de una tabla (WHERE)
SELECT numero, calle
FROM DIRECCION
WHERE ciudad = ‘Sevilla’
Esta consulta devolvería el número y la dirección de todas las direcciones pertenecientes a la
ciudad de Sevilla. Como vemos, con WHERE indicamos la condición que deben cumplir los
registros de la tabla para ser devueltos en la consulta. En este caso tenemos una condición
2. simple dada por la comparación de igualdad (=) entre al campo (ciudad) y un literal de tipo
cadena, entre comillas simples (‘Sevilla’).
SELECT calle, ciudad
FROM DIRECCION
WHERE numero = 12
Esta otra consulta devolvería la calle y ciudad de todos los registros de la tabla con el número
12, en este caso un literal numérico. Las condiciones empleadas pueden ser mucho más
complejas incluyendo otro tipo de operadores y combinaciones de los mismos.
Operadores relacionales
Al margen del signo de igualdad empleado anteriormente, se pueden usar n las condiciones
simples de las consultas los operadores relacionales habituales, devolviendo siempre un valor
booleano (lógico):
Operador Significado
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
SELECT nombre
FROM CLIENTES
WHERE edad <= 32
Adicionalmente, disponemos de operadores de comparación adicionales, también devolviendo
valores booleanos (lógicos) True o False según si se cumplen o no las condiciones:
BETWEEN: para indicar un intervalo de valores.
SELECT nombre
FROM CLIENTES
WHERE edad BETWEEN 20 AND 35
LIKE: empleado para comparar patrones de texto pudiendo incluir comodines como los
siguientes:
Comodín Descripción
% Sustituto para cero o más caracteres.
_ Sustituto para exactamente un carácter
[lista caracteres] Cualquier carácter de la lista
[^lista caracteres] Cualquier carácter que no esté en la lista
[!lista caracteres] Cualquier carácter que no esté en la lista
SELECT num, calle, cp
FROM DIRECCION
WHERE ciudad LIKE ‘Val%’
Esta consulta devolvería los datos de las direcciones de toda ciudad que comience por Val y
siga por cualquier número de caracteres, incluyendo cero caracteres. Por ejemplo, Valladolid o
3. Valencia. En el enlace anterior sobre patrones de texto podemos practicar directamente desde
la web.
IN: empleado para comparar con una lista de valores fijados de modo que devuelva True si el
campo indicado pertenece a la lista.
SELECT num, calle, direccion
FROM DIRECCION
WHERE ciudad IN (‘Sevilla’, ’Córdoba’, ‘Huelva’, ‘Cádiz’)
Operadores lógicos (AND, OR, NOT)
Los operadores lógicos nos sirven para componer expresiones de filtrado a partir de las
anteriores:
Operador Significado
AND Y lógico
OR O lógico
NOT Negación lógica
La precedencia y asociatividad es la habitual definida en la Lógica. En cualquier caso, cuando
incluya expresiones que empleen varios de estos operadores es recomendable usar paréntesis
para evitar errores. Por ejemplo:
SELECT *
FROM DIRECCION
WHERE ciudad = ‘Sevilla’ AND cp = 41009 OR ciudad = ‘Córdoba’ AND NOT cp = 14010
Devuelve los registros pertenecientes a direcciones que tengan el código postal 41009 de
Sevilla o bien que no tengan el 14010 de Córdoba. La mayor precedencia la adopta el operador
NOT sobre la condición cp = 14010; a continuación los AND se aplican sobre ciudad = ‘Sevilla’
AND cp = 41009 y ciudad = ‘Córdoba’ AND NOT cp = 14010; por último se aplica el OR sobre la
fórmula completa. La misma consulta se puede expresar de forma más clara con paréntesis:
SELECT *
FROM DIRECCION
WHERE (ciudad = ‘Sevilla’ AND cp = 41009) OR
(ciudad = ‘Córdoba’ AND (NOT cp = 14010))
O bien si el NOT nos parece más evidente, podemos excluir el paréntesis interior, a nuestra
gusto siempre conservando el significado que queríamos dar la operación.
Ordenación
Ordenar según criterios (ORDER BY)
Podemos ordenar los registros devueltos por una consulta por el campo o campos que
estimemos oportunos:
SELECT *
FROM CIUDAD
ORDER BY provincia ASC, numhabitantes DESC
Esta consulta devolvería todas las ciudades ordenadas por provincia en orden ascendente, y
dentro de los de la misma provincia ordenaría las ciudades por orden descendente del número
4. de habitantes. Si no indicamos ASC ni DESC, el comportamiento por defecto será el orden
ascendente (ASC).
Devolución de expresiones
Asignación de un alias a un dato devuelto (AS)
SELECT idCliente AS id, nombre AS cliente, descripcion AS desc
FROM CLIENTES
Uso de expresiones empleando operadores y/o funciones
Podemos practicar en SQLzoo a usar expresiones con operadores y funciones. Por ejemplo:
SELECT MOD(DAY(NOW()),7) AS numSemana, POW(2,3) AS potencia8
Devuelve el número de semana en la que nos encontramos dentro del mes, ya que NOW() nos
devuelve la fecha/hora actual, de la cual extraemos el día con DAY, y posteriormente
calculamos el módulo 7 de dicho día (de modo que para un día 26 devolvería un 5, por
ejemplo). El dato con alias potencia8 devolvería 8 (2 elevado a 3, POW es power, potencia).
Se puede combinar naturalmente la potencia de este lenguaje de expresiones usando
operadores y funciones sobre los datos de los registros de una tabla:
SELECT DAY(fechaLinea) AS dia, FLOOR(precioLinea * 0.85) AS precioDtoRedondeado
FROM LINEAPEDIDO
Consultas agrupadas (GROUP BY)
Las consultas anteriores recuperaban, trabajaban con, y mostraban información a nivel de
cada registro individual de la base de datos. Así, si tenemos un producto con un determinado
precio, podemos devolver el precio mediante SELECT precioLinea o bien operar sobre él como
en SELECT precioLinea * 0.85.
Ahora bien, podemos querer obtener información que no proviene de un registro individual
sino de la agrupación de información, como es el caso de contar el número de líneas de
pedido, sumar el precio de todas las líneas por cada pedido, etc. Para ello, debemos emplear
funciones agregadas y en la mayoría de los casos agrupar por algún campo.
Así, para ver el número total de registros podemos hacer:
SELECT COUNT(*)
FROM LINEAPEDIDO
Si por el contrario deseamos obtener el total de líneas por pedido, debemos indicar que
agrupe por idPedido, lo que contará todos los registros con el mismo idPedido y calculará su
cuenta:
SELECT idPedido, COUNT(*)
FROM LINEAPEDIDO
GROUP BY idPedido
Lo mismo se puede aplicar a otras funciones como la suma, indicando en ese caso aparte de la
agrupación el campo que queremos sumar:
SELECT idPedido, SUM(precioLinea)
FROM LINEAPEDIDO
GROUP BY idPedido
5. ¿Y si queremos hallar la media de los precios por cada pedido? En ese caso necesitamos de
nuevo agrupar (GROUP BY) por pedido.
SELECT idPedido, AVG(precioLinea)
FROM LINEAPEDIDO
GROUP BY idPedido
Igualmente, podríamos aplicar un redondeo (ROUND) sobre la media, para dejar 4 decimales, y
aplicarle un alias (AS) para el nombre del dato de salida.
SELECT idPedido, ROUND(AVG(precioLinea),4) AS media
FROM LINEAPEDIDO
GROUP BY idPedido
O podríamos establecer una condición sobre el dato agrupado (HAVING), de forma que
solamente se muestren las medias menores o iguales que 10. Existe una gran cantidad de
funciones de agregación definidas en SQL, pero hay que tener precaución porque pueden
diferir de un SGBD a otro.
SELECT idPedido, ROUND(AVG(precioLinea),4)
FROM LINEAPEDIDO
GROUP BY idPedido
HAVING AVG(precioLinea) < 10
Para practicar un poco con las más comunes es muy recomendable este tutorial interactivo. En
MySQL tendríamos las que aparecen en este enlace. Este es el desglose completo de las
funciones de agregación estándar:
Function Usage
AVG(expression)
Computes the average value of a column given
by expression.
CORR(dependent, independent) Computes a correlation coefficient.
COUNT(expression) Counts the rows defined by the expression.
COUNT(*) Counts all rows in the specified table or view.
COVAR_POP (dependent, independent) Computes population covariance.
COVAR_SAMP(dependent, independent) Computes sample covariance.
CUME_DIST(value_list) WITHIN GROUP
(ORDER BY sort_list)
Computes the relative rank of a hypothetical
row within a group of rows, where the rank is
equal to the number of rows less than or equal
to the hypothetical row divided by the number
of rows in the group.
DENSE_RANK(value_list) WITHIN GROUP
(ORDER BY sort_list)
Generates a dense rank (no ranks are skipped)
for a hypothetical row (value_list) in a group of
rows generated by GROUP BY.
6. MIN(expression)
Finds the minimum value in a column given by
expression.
MAX(expression)
Finds the maximum value in a column given by
expression.
PERCENT_RANK(value_list) WITHIN GROUP
(ORDER BY sort_list)
Generates a relative rank for a hypothetical row
by dividing that row's rank less 1 by the number
of rows in the group.
PERCENTILE_CONT (percentile) WITHIN
GROUP (ORDER BY sort_list)
Generates an interpolated value that, if added
to the group, would correspond to the
percentile given.
PERCENTILE_DISC (percentile) WITHIN
GROUP (ORDER BY sort_list)
Returns the value with the smallest cumulative
distribution value greater than or equal to
percentile.
RANK(value_list) WITHIN GROUP (ORDER
BY sort_list)
Generates a rank for a hypothetical row
(value_list) in a group of rows generated by
GROUP BY.
REGR_AVGX(dependent, independent)
Computes the average of the independent
variable.
REGR_AVGY(dependent, independent)
Computes the average of the dependent
variable.
REGR_COUNT(dependent, independent)
Counts the number of pairs remaining in the
group after any pair with one or more NULL
values has been eliminated.
REGR_INTERCEPT(dependent,independent)
Computes the y-intercept of the least-squares-
fit linear equation.
REGR_R2(dependent, independent) Squares the correlation coefficient.
REGR_SLOPE(dependent, independent)
Determines the slope of the least-squares-fit
linear equation.
REGR_SXX(dependent, independent) Sums the squares of the independent variables.
REGR_SXY(dependent, independent) Sums the products of each pair of variables.
REGR_SYY(dependent, independent) Sums the squares of the dependent variables.
STDDEV_POP(expression)
Computes the population standard deviation of
all expression values in a group.
STDDEV_SAMP(expression)
Computes the sample standard deviation of all
expression values in a group.
SUM(expression)
Computes the sum of column values given by
expression.
VAR_POP(expression)
Computes the population variance of all
expression values in a group.
VAR_SAMP(expression)
Computes the sample standard deviation of all
expression values in a group.
7. Devolución de filas nulas/no nulas (IS NULL / IS NOT NULL)
SELECT idPedido
FROM PEDIDO
WHERE direccionEnvio IS NULL
Devolvería los pedidos que no tienen dirección de envío asociada.
Consultas por intersecciones entre tablas (JOIN)
Podemos generar una consulta que obtenga datos de varias tablas, pudiendo establecer a su
vez criterios sobre otras. Veamos los tipos fundamentales (una buena explicación se puede
encontrar aquí). Por ejemplo, dados los clientes de nuestro concesionario y nuestras ventas de
coches a clientes en los diversos concesionarios,
VENTA
CLIENTE
podemos obtener una consulta que obtenga datos del cliente y de la venta. Por ejemplo,
nombre, apellidos, codcoche y color, mediante una consulta del tipo:
SELECT nombre, apellidos, codcoche, color
FROM CLIENTE, VENTA
WHERE CLIENTE.cifcl = VENTA.idCliente
INNER JOIN
INNER JOIN implícito
Por ejemplo, para obtener los datos del cliente y el pedido en la misma consulta:
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE, PEDIDO
WHERE CLIENTE.idCliente = PEDIDOpedido.idCliente
Como vemos, podemos empezar escribiendo tal cuál qué datos nos piden (SELECT), de dónde
podemos obtenerlos (FROM) y qué criterio (WHERE). Esta es la versión más antigua de SQL,
aunque se sigue empleando, conociéndose como JOIN implícito ya que no se usa por ningún
lado la palabra JOIN, pero se está haciendo la intersección por la foreign key, en este caso la
columna idCliente.
8. Si omitimos en el caso anterior el WHERE:
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE, PEDIDO
Obtendremos los datos solicitados para todos los pares de registros de CLIENTE y PEDIDO, el
producto cartesiano, de forma que si hay 3 registros en CLIENTE y 4 en PEDIDO devolveremos
12 registros. Puede probar estos comportamientos en este enlace. La explicación detallada de
un ejemplo similar con coches y marcas se puede encontrar en esta entrada de blog. Este tipo
de join se conoce como CROSS JOIN, y en este caso se ha hecho de forma implícita.
INNER JOIN natural (NATURAL JOIN)
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE NATURAL JOIN PEDIDO
Esta consulta obtiene lo mismo que el join implícito inicial, de forma que NATURAL JOIN
establece la condición de igualdad entre los campos con el mismo nombre.
INNER JOIN explícito
La forma más habitual de INNER JOIN es la que intersecta las tablas indicadas en con INNER
JOIN por el campo indicado por ON.
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE INNER JOIN PEDIDO
ON cliente.idCliente = pedido.idCliente
Este comportamiento se explica y puede probar aquí, en este otro enlace o finalmente aquí.
Como vemos, es equivalente al INNER JOIN implícito, pero en lugar de establecer una
condición sobre los campos de las relaciones en el WHERE, establece la condición asociada a la
relación entre ambas tablas a través de la FOREIGN KEY, en este caso desde el atributo
(campo) idCliente en la relación (tabla) PEDIDO, FOREIGN KEY que hace referencia al atributo
idCliente de la relación CLIENTE.
Con la notación explícita también podemos expresar un CROSS JOIN como se indicó en el caso
explícito:
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE CROSS JOIN PEDIDO
Nota: aunque lo más frecuente es que la condición del JOIN sea en términos de igualdad entre
las claves, también se podrían establecer condiciones empleando otros operadores
relacionales (operadores para comparar dos valores, devolviendo un resultado booleano, es
decir, cierto o falso):
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE INNER JOIN PEDIDO
ON cliente.idCliente < pedido.idCliente
9. LEFT JOIN
El resultado de esta operación siempre contiene todos los registros de la relación izquierda
(primera tabla que indicamos), y aquellos de la tabla derecha que cumplen la condición
establecida. Para el resto aparecerá en los campos correspondientes a dicha tabla un NULL.
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE LEFT JOIN PEDIDO
ON cliente.idCliente = pedido.idCliente
Esta consulta devolverá todos los clientes con sus pedidos, y un registro por cada cliente que
no tenga pedidos.
RIGHT JOIN
El RIGHT JOIN es análogo al LEFT JOIN, pero devolviendo todos los registros de la relación
derecha (segunda tabla que aparece), y únicamente aquellos de la tabla izquierda que cumplen
la condición del JOIN. El resultado de esta operación siempre contiene todos los registros de la
relación derecha (segunda tabla que indicamos), de modo que en aquellos sin equivalente en
la parte izquierda tendrán en los campos correspondientes a dicha tabla un NULL.
SELECT nombreCliente, idPedido, fechaPedido
FROM CLIENTE RIGHT JOIN PEDIDO
ON cliente.idCliente = pedido.idCliente
Asumiendo que pudiéramos tener en la base de datos pedidos sin cliente asociado, esta
consulta devolverá todos los pedidos con sus clientes, y en caso de que el cliente no aparezca
el nombreCliente sería NULL.
FULL OUTER JOIN
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO FULL OUTER JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
Esta consulta devolvería tanto los datos de las empresas sin empleados como los de los
empleados sin empresa, apareciendo rellenos todos los datos de la consulta únicamente para
aquellos registros que cumplen la condición del JOIN, y apareciendo NULL en unos u otros
campos para el resto de registros.
Como se puede ver, esta consulta es equivalente a mostrar tanto los registros devueltos por el
LEFT como por el RIGHT JOIN, eliminando los repetidos (aquellos registros que cumplan la
condición del JOIN, que serían devueltos por ambas consultas).
10. El hecho de unir los registros de las consultas de LEFT y JOIN, ambas devolviendo los mismos
tipos de campos (EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre) puede ser
expresado en SQL a través de la cláusula UNION:
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
LEFT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
UNION
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
RIGHT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
Para devolver los registros de la consulta anterior excluyendo los repetidos haríamos:
SELECT DISTINCTROW
FROM (SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
LEFT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
UNION
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
RIGHT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif)
Ahora bien, podríamos haber evitado los duplicados mediante una solución más ingeniosa,
devolviendo en una de las dos consultas (LEFT o RIGHT) solamente los registros de una de las
partes, excluyendo así los que cumplen la condición del JOIN, que serán devueltos por la otra:
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
LEFT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
UNION
SELECT EMPLEADO.nombre, EMPLEADO.apellidos, EMPRESA.nombre
FROM EMPLEADO
RIGHT JOIN EMPRESA
ON EMPLEADO.empresa = EMPRESA.cif
WHERE EMPLEADO.empresa IS NULL
Algunos ejercicios adicionales sobre JOIN pueden encontrarse en este tutorial y los primeros 4
apartados de este otro (los restantes ejercicios emplean conceptos que no hemos visto),
ambos en SQLZOO.
11. Consultas anidadas
A veces se han de utilizar en una consulta los resultados de otra consulta, llamada subconsulta
o consulta anidada. Podemos ver muchos ejemplos de ello aquí. Veamos que existen diversas
variantes:
Empleando IN
Obtener el identificador de los clientes que han comprado algún coche a un concesionario de
Madrid.
SELECT DISTINCT cifcl
FROM VENTA
WHERE cifc IN (SELECT cifc
FROM CONCESIONARIO
WHERE ciudad = 'Madrid')
Obtener el código de coche de los coches vendidos por algún concesionario de Madrid.
SELECT DISTINCT codcoche
FROM VENTA
WHERE cifc IN (SELECT cifc
FROM CONCESIONARIO
WHERE ciudad = 'Madrid')
Obtener el nombre y el modelo de los coches vendidos por algún concesionario de Barcelona.
SELECT nombre, modelo
FROM COCHE
WHERE codcoche IN (SELECT codcoche
FROM VENTA
WHERE cifc IN (SELECT cifc
FROM CONCESIONARIO
WHERE ciudad = 'Barcelona'))
Empleando operadores relacionales
Un ejemplo típico sería conocer los nombres de los empleados cuyo salario está por encima de
la media:
SELECT nombre
FROM EMPLEADOS
WHERE salario > (select avg(salario) from emp);
Obtener el nombre y apellidos de los clientes cuyo identificador de cliente es menor que el de
Juan Martín.
SELECT nombre, apellidos
FROM CLIENTE
WHERE cifcl < (SELECT cifcl
FROM CLIENTE
WHERE nombre = 'Juan'
AND apellido = 'Martín')
12. Empleando ALL
Obtener el nombre y apellidos de los clientes cuyo identificador de cliente es menor que el de
los de Barcelona.
SELECT nombre, apellidos
FROM CLIENTE
WHERE cifcl < ALL (SELECT cifcl
FROM CLIENTE
WHERE ciudad = 'Barcelona')
Empleando ANY
Obtener el nombre y apellidos de los clientes cuyo identificador de cliente es mayor que el de
alguno de los de Madrid, y cuyo nombre empieza por a.
SELECT nombre, apellidos
FROM CLIENTE
WHERE cifcl > ANY
(SELECT cifcl
FROM CLIENTE
WHERE ciudad = 'Madrid')
AND nombre LIKE 'A%'
Empleando EXISTS
Obtener los identificadores de los clientes que sólo han comprado coches al concesionario 1.
SELECT cifcl
FROM VENTA va
WHERE NOT EXISTS (SELECT *
FROM VENTA vb
WHERE cifc <> 1
AND va.cifcl = vb.cifcl)
Obtener los identificadores de los clientes que han comprado coches al concesionario 1 y a
algún otro.
SELECT cifcl
FROM VENTA va
WHERE cifc = 1
AND EXISTS (SELECT *
FROM VENTA vb
WHERE cifc <> 1
AND va.cifcl = vb.cifcl)