Este documento describe las características del lenguaje de consultas estructuradas SQL. SQL opera sobre conjuntos de tuplas e incluye dos sublenguajes: DDL para definir objetos de base de datos y DML para manipular datos. El DML incluye operaciones como INSERT, UPDATE, DELETE y SELECT para agregar, modificar, eliminar y recuperar datos respectivamente.
Este documento proporciona instrucciones sobre consultas avanzadas SQL, incluyendo JOINs, diferentes tipos de JOIN (INNER, LEFT, RIGHT, FULL), y ejemplos de consultas SQL con tablas de científicos y proyectos. También incluye ejercicios propuestos para practicar JOINs.
Este documento proporciona instrucciones sobre consultas avanzadas SQL, incluyendo JOINs, diferentes tipos de JOIN (INNER, LEFT, RIGHT, FULL), y ejemplos de consultas SQL con tablas de científicos y proyectos. También incluye ejercicios de práctica sobre consultas SQL con tablas de artículos y fabricantes.
Este documento proporciona ejemplos de consultas SQL para seleccionar, agregar, modificar y unir datos de tablas de una base de datos. Incluye ejemplos del uso de cláusulas como SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, AS y funciones como COUNT, AVG, MIN y MAX.
Este documento proporciona una guía sobre consultas resumen en MySQL, incluyendo funciones de agregación como COUNT, MAX, MIN y SUM. Explica cómo agrupar filas con GROUP BY y aplicar filtros a los grupos con HAVING. También cubre errores comunes como el uso incorrecto de COUNT(*) y COUNT(columna), o aplicar funciones de agregación en la cláusula WHERE.
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.
Este documento describe un ejercicio en MySQL que involucra la creación de tablas, inserción de datos, y consultas SQL. Se crean tablas de fabricantes y artículos con claves primarias y foráneas. Luego se insertan datos de ejemplo y se realizan varias consultas como obtener datos filtrados, promedios, ordenar resultados y actualizar registros.
SQL es un lenguaje de consulta normalizado para bases de datos. Permite consultar, modificar o eliminar datos mediante comandos como SELECT, INSERT y DELETE. Incluye elementos como cláusulas (FROM, WHERE), operadores lógicos (AND, OR) y funciones (COUNT, SUM) para filtrar y agregar datos de manera flexible.
Este documento proporciona instrucciones sobre consultas avanzadas SQL, incluyendo JOINs, diferentes tipos de JOIN (INNER, LEFT, RIGHT, FULL), y ejemplos de consultas SQL con tablas de científicos y proyectos. También incluye ejercicios propuestos para practicar JOINs.
Este documento proporciona instrucciones sobre consultas avanzadas SQL, incluyendo JOINs, diferentes tipos de JOIN (INNER, LEFT, RIGHT, FULL), y ejemplos de consultas SQL con tablas de científicos y proyectos. También incluye ejercicios de práctica sobre consultas SQL con tablas de artículos y fabricantes.
Este documento proporciona ejemplos de consultas SQL para seleccionar, agregar, modificar y unir datos de tablas de una base de datos. Incluye ejemplos del uso de cláusulas como SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, AS y funciones como COUNT, AVG, MIN y MAX.
Este documento proporciona una guía sobre consultas resumen en MySQL, incluyendo funciones de agregación como COUNT, MAX, MIN y SUM. Explica cómo agrupar filas con GROUP BY y aplicar filtros a los grupos con HAVING. También cubre errores comunes como el uso incorrecto de COUNT(*) y COUNT(columna), o aplicar funciones de agregación en la cláusula WHERE.
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.
Este documento describe un ejercicio en MySQL que involucra la creación de tablas, inserción de datos, y consultas SQL. Se crean tablas de fabricantes y artículos con claves primarias y foráneas. Luego se insertan datos de ejemplo y se realizan varias consultas como obtener datos filtrados, promedios, ordenar resultados y actualizar registros.
SQL es un lenguaje de consulta normalizado para bases de datos. Permite consultar, modificar o eliminar datos mediante comandos como SELECT, INSERT y DELETE. Incluye elementos como cláusulas (FROM, WHERE), operadores lógicos (AND, OR) y funciones (COUNT, SUM) para filtrar y agregar datos de manera flexible.
Este documento describe el lenguaje de consultas estructuradas SQL (Structured Query Language). Explica diferentes tipos de consultas como selección, acción, unión interna y externa. Luego presenta 9 casos de consultas SQL con diferentes tablas y campos para seleccionar, unir e imponer condiciones.
Este documento describe las vistas en bases de datos. Una vista es una consulta que refleja el contenido de una o más tablas y permite acceder a los datos como si fuera una tabla. Las vistas se usan comúnmente para registrar selecciones complejas o frecuentes de una manera más sencilla. Las vistas no almacenan datos físicamente sino que son consultas a las tablas subyacentes.
El documento habla sobre funciones, procedimientos almacenados y disparadores (triggers) en bases de datos. Explica qué son cada uno de estos objetos, su sintaxis y cómo implementarlos. Funciones devuelven valores, procedimientos almacenados realizan operaciones y triggers se disparan ante eventos como inserciones o actualizaciones.
Una subconsulta permite insertar una consulta SQL dentro de otra consulta y comparar sus resultados. Puede usarse con los operadores ANY, ALL, SOME, IN, NOT IN y EXISTS para recuperar registros que cumplan con ciertas condiciones basadas en los resultados de la subconsulta. Se puede usar un alias para referirse a tablas dentro y fuera de la subconsulta.
Este documento describe las subconsultas en SQL, incluyendo los cinco tipos principales de subconsultas y los operadores que se pueden usar en ellas. Explica cómo se pueden usar subconsultas en las cláusulas WHERE, HAVING, FROM y SELECT para resolver consultas de manera anidada. También cubre errores comunes como devolver más de una fila.
El documento describe los conceptos básicos del lenguaje SQL (Structured Query Language) utilizado para consultar y manipular bases de datos relacionales. Explica que SQL permite realizar consultas, inserciones, actualizaciones y eliminaciones de datos mediante comandos como SELECT, INSERT, UPDATE y DELETE. También describe cláusulas como FROM, WHERE, GROUP BY y HAVING, así como operadores lógicos y de comparación utilizados en las consultas.
El documento resume los conceptos básicos de SQL, incluyendo que SQL es el lenguaje estándar para consultar bases de datos relacionales, y describe los principales componentes de SQL como comandos (DDL, DML, DCL), cláusulas (FROM, WHERE, GROUP BY), operadores y funciones de agregados. Explica el orden de ejecución de las cláusulas SQL y provee ejemplos de consultas básicas con diferentes cláusulas y operadores lógicos.
Implementación de bases de datos agrupamiento y funciones de agregadoM.c. Omar Jasso
El documento habla sobre las consultas de agrupamiento y funciones agregadas en Transact-SQL. Explica que la cláusula GROUP BY agrupa filas basadas en una o más columnas y devuelve una fila por grupo. Luego describe funciones agregadas como COUNT, AVG, MAX, MIN y SUM y muestra ejemplos de su uso para resumir y analizar datos agrupados.
Las consultas son métodos para acceder y modificar datos en bases de datos utilizando un lenguaje de consultas como SQL. SQL permite seleccionar, insertar, actualizar y eliminar datos, así como crear bases de datos. Los ejemplos muestran consultas SQL para seleccionar datos específicos de una tabla y calcular valores derivados.
Este documento contiene una serie de ejercicios resueltos de SQL sobre diferentes tablas de bases de datos. En el primer ejercicio se presentan consultas sobre una tabla de artículos y fabricantes de una tienda de informática. Los ejercicios siguientes tratan sobre tablas de empleados y departamentos, almacenes y cajas, y directores, películas y salas. El documento concluye con ejercicios adicionales sobre piezas, proveedores, científicos e investigadores.
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.
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 proporciona instrucciones sobre comandos DDL y DML en SQL. Explica cómo crear, modificar y eliminar tablas usando comandos como CREATE TABLE, ALTER TABLE y DROP TABLE. También cubre cómo insertar, seleccionar, actualizar y eliminar datos en tablas existentes usando comandos como INSERT INTO, SELECT, UPDATE y DELETE.
El documento describe las funciones de Excel, incluyendo su sintaxis y categorías. Las funciones son fórmulas predefinidas que facilitan cálculos tomando datos de la hoja de cálculo como argumentos. Siempre deben comenzar con el signo "=" para indicar a Excel que se trata de una función. Existen funciones de diferentes categorías como financieras, matemáticas, estadísticas y más.
El documento describe las principales funciones del lenguaje de manipulación de datos SQL, incluyendo cómo insertar, actualizar, eliminar y seleccionar datos de una base de datos. Explica operadores como WHERE, ORDER BY, GROUP BY, HAVING y JOIN para filtrar y combinar datos de múltiples tablas.
Este documento presenta los fundamentos del lenguaje DML (Data Manipulation Language) para manipular datos en bases de datos. Explica comandos como INSERT, UPDATE, DELETE y SELECT, así como sus sintaxis y ejemplos. También cubre cláusulas como WHERE, ORDER BY, GROUP BY y HAVING, y funciones agregadas como COUNT, SUM, AVG, MIN y MAX. El objetivo es que los estudiantes aprendan a insertar, actualizar, eliminar y consultar datos de manera optimizada en tablas de bases de datos.
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.
Una subconsulta permite insertar una consulta SELECT anidada dentro de las cláusulas WHERE, HAVING, FROM de otras consultas SQL. Esto permite construir consultas poderosas de forma simple, como seleccionar filas que cumplan condiciones basadas en datos de la misma tabla.
Este documento proporciona un resumen de comandos y funciones de MySQL. Explica cómo manejar bases de datos y tablas, crear, leer, actualizar y eliminar datos. También cubre tipos de datos, funciones de cadena, consultas, tablas relacionales y conexión entre MySQL y JavaScript.
Una subconsulta es una instrucción SELECT anidada dentro de otra instrucción como INSERT, DELETE, UPDATE o dentro de otra subconsulta. Puede utilizar comparaciones, expresiones IN o EXISTS para crear subconsultas que se pueden usar en cláusulas como WHERE, HAVING y FROM para seleccionar filas basadas en datos de la misma u otras tablas.
Este documento describe el lenguaje de consultas estructuradas SQL (Structured Query Language). Explica diferentes tipos de consultas como selección, acción, unión interna y externa. Luego presenta 9 casos de consultas SQL con diferentes tablas y campos para seleccionar, unir e imponer condiciones.
Este documento describe las vistas en bases de datos. Una vista es una consulta que refleja el contenido de una o más tablas y permite acceder a los datos como si fuera una tabla. Las vistas se usan comúnmente para registrar selecciones complejas o frecuentes de una manera más sencilla. Las vistas no almacenan datos físicamente sino que son consultas a las tablas subyacentes.
El documento habla sobre funciones, procedimientos almacenados y disparadores (triggers) en bases de datos. Explica qué son cada uno de estos objetos, su sintaxis y cómo implementarlos. Funciones devuelven valores, procedimientos almacenados realizan operaciones y triggers se disparan ante eventos como inserciones o actualizaciones.
Una subconsulta permite insertar una consulta SQL dentro de otra consulta y comparar sus resultados. Puede usarse con los operadores ANY, ALL, SOME, IN, NOT IN y EXISTS para recuperar registros que cumplan con ciertas condiciones basadas en los resultados de la subconsulta. Se puede usar un alias para referirse a tablas dentro y fuera de la subconsulta.
Este documento describe las subconsultas en SQL, incluyendo los cinco tipos principales de subconsultas y los operadores que se pueden usar en ellas. Explica cómo se pueden usar subconsultas en las cláusulas WHERE, HAVING, FROM y SELECT para resolver consultas de manera anidada. También cubre errores comunes como devolver más de una fila.
El documento describe los conceptos básicos del lenguaje SQL (Structured Query Language) utilizado para consultar y manipular bases de datos relacionales. Explica que SQL permite realizar consultas, inserciones, actualizaciones y eliminaciones de datos mediante comandos como SELECT, INSERT, UPDATE y DELETE. También describe cláusulas como FROM, WHERE, GROUP BY y HAVING, así como operadores lógicos y de comparación utilizados en las consultas.
El documento resume los conceptos básicos de SQL, incluyendo que SQL es el lenguaje estándar para consultar bases de datos relacionales, y describe los principales componentes de SQL como comandos (DDL, DML, DCL), cláusulas (FROM, WHERE, GROUP BY), operadores y funciones de agregados. Explica el orden de ejecución de las cláusulas SQL y provee ejemplos de consultas básicas con diferentes cláusulas y operadores lógicos.
Implementación de bases de datos agrupamiento y funciones de agregadoM.c. Omar Jasso
El documento habla sobre las consultas de agrupamiento y funciones agregadas en Transact-SQL. Explica que la cláusula GROUP BY agrupa filas basadas en una o más columnas y devuelve una fila por grupo. Luego describe funciones agregadas como COUNT, AVG, MAX, MIN y SUM y muestra ejemplos de su uso para resumir y analizar datos agrupados.
Las consultas son métodos para acceder y modificar datos en bases de datos utilizando un lenguaje de consultas como SQL. SQL permite seleccionar, insertar, actualizar y eliminar datos, así como crear bases de datos. Los ejemplos muestran consultas SQL para seleccionar datos específicos de una tabla y calcular valores derivados.
Este documento contiene una serie de ejercicios resueltos de SQL sobre diferentes tablas de bases de datos. En el primer ejercicio se presentan consultas sobre una tabla de artículos y fabricantes de una tienda de informática. Los ejercicios siguientes tratan sobre tablas de empleados y departamentos, almacenes y cajas, y directores, películas y salas. El documento concluye con ejercicios adicionales sobre piezas, proveedores, científicos e investigadores.
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.
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 proporciona instrucciones sobre comandos DDL y DML en SQL. Explica cómo crear, modificar y eliminar tablas usando comandos como CREATE TABLE, ALTER TABLE y DROP TABLE. También cubre cómo insertar, seleccionar, actualizar y eliminar datos en tablas existentes usando comandos como INSERT INTO, SELECT, UPDATE y DELETE.
El documento describe las funciones de Excel, incluyendo su sintaxis y categorías. Las funciones son fórmulas predefinidas que facilitan cálculos tomando datos de la hoja de cálculo como argumentos. Siempre deben comenzar con el signo "=" para indicar a Excel que se trata de una función. Existen funciones de diferentes categorías como financieras, matemáticas, estadísticas y más.
El documento describe las principales funciones del lenguaje de manipulación de datos SQL, incluyendo cómo insertar, actualizar, eliminar y seleccionar datos de una base de datos. Explica operadores como WHERE, ORDER BY, GROUP BY, HAVING y JOIN para filtrar y combinar datos de múltiples tablas.
Este documento presenta los fundamentos del lenguaje DML (Data Manipulation Language) para manipular datos en bases de datos. Explica comandos como INSERT, UPDATE, DELETE y SELECT, así como sus sintaxis y ejemplos. También cubre cláusulas como WHERE, ORDER BY, GROUP BY y HAVING, y funciones agregadas como COUNT, SUM, AVG, MIN y MAX. El objetivo es que los estudiantes aprendan a insertar, actualizar, eliminar y consultar datos de manera optimizada en tablas de bases de datos.
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.
Una subconsulta permite insertar una consulta SELECT anidada dentro de las cláusulas WHERE, HAVING, FROM de otras consultas SQL. Esto permite construir consultas poderosas de forma simple, como seleccionar filas que cumplan condiciones basadas en datos de la misma tabla.
Este documento proporciona un resumen de comandos y funciones de MySQL. Explica cómo manejar bases de datos y tablas, crear, leer, actualizar y eliminar datos. También cubre tipos de datos, funciones de cadena, consultas, tablas relacionales y conexión entre MySQL y JavaScript.
Una subconsulta es una instrucción SELECT anidada dentro de otra instrucción como INSERT, DELETE, UPDATE o dentro de otra subconsulta. Puede utilizar comparaciones, expresiones IN o EXISTS para crear subconsultas que se pueden usar en cláusulas como WHERE, HAVING y FROM para seleccionar filas basadas en datos de la misma u otras tablas.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
2. Structured Query
Language (SQL)
Características de SQL Standard
Opera sobre conjuntos de tuplas:
incluso para las operaciones de inserción, borrado y
actualización.
No elimina automáticamente tuplas
repetidas.
El mismo lenguaje puede ser usado:
En forma interactiva (EJ: consola)
Embebido en un lenguaje de programación.
3. Características de SQL Standard
Su poder de expresión incluye al álgebra
relacional y la extiende
Se identifican dos sublenguajes:
DDL (Data Definition Language):
Permite crear, modificar y eliminar objetos de la base
EJ: CREATE, ALTER, DROP
DML (Data Manipulation Language):
Permite crear, modificar, eliminar y recuperar datos
EJ: INSERT, UPDATE, DELETE, SELECT
4. SQL como Data Definition Language
Permite crear, modificar y eliminar objetos de la
base de datos (Tablas, Vistas)
5. ¿Qué es una tabla?
Un conjunto de valores organizados en columnas y
filas
Una tabla es la representación de una relación,
pero no son estrictamente equivalentes
6. Operaciones sobre tablas
CREATE TABLE
Crea un nueva tabla de la base
Parámetros:
Nombre de la tabla
Nombre de cada columna
Tipo de datos de cada columna
Restricciones de clave primaria y clave foránea sobre otras
tablas
ALTER TABLE
Modifica una tabla existente
DROP TABLE
Elimina la definición de la tabla (y los datos
almacenados en ella si existen)
7. Ejemplo
Productos ( #prod, nombre, peso, descripción)
Contiene todos los productos
Fabricantes ( #fab, nombre, departamento)
Contiene los fabricantes de productos
Ventas ( #fab, #prod, precio)
Indica que fabricante vende que producto y a
que precio
8. Ejemplo
CREATE TABLE productos(
#prod integer NOT NULL,
nombre character varying(50),
CONSTRAINT productos_pk PRIMARY KEY
(#prod)
)
CREO LA TABLA PRODUCTOS
ALTER TABLE productos add peso double
precision
AGREGO LA COLUMNA PESO A LA TABLA PRODUCTOS
9. ¿Qué es una vista?
Una vista es una tabla virtual que se basa en el
resultado de una consulta.
Sus atributos son atributos de tablas o de otras
vistas.
Pueden usarse en consultas como si fueran tablas
10. Operaciones sobre vistas
CREATE VIEW: crea una vista
ALTER VIEW: modifica una vista
DROP VIEW: elimina la vista
11. Ejemplo
Quiero ofrecer una vista sobre la tabla productos
en la que NO aparezca el peso
CREATE VIEW productos2 AS(
SELECT #prod, nombre
FROM productos
)
Devuelve el código de producto y el nombre de cada
producto
12. SQL como Data Manipulation Language
Permite crear, modificar, eliminar y recuperar
datos
INSERT: agrega tuplas a una tabla
UPDATE: cambia tuplas de una tabla
DELETE: borra tuplas de una tabla
SELECT: recupera datos
13. Ejemplos
Insertar una nueva venta del producto 530 a
precio 15000, para el fabricante 25:
INSERT INTO VENTAS
VALUES (25, 530, 15000);
14. Ejemplos
Incrementar el precio del producto número 530 en
un 10%
UPDATE VENTAS
SET precio = precio * 1.1
WHERE #prod = 530;
Borrar toda la información de ventas con precio
mayor a $50000.
DELETE FROM VENTAS
WHERE precio > 50000;
15. Recuperación de datos
Select : devuelve tuplas de la base
SELECT A1,...,An
FROM R1,...,Rm
WHERE P
donde:
A1,...,An son nombres de atributos
(puede usarse *)
R1,...,Rm son nombres de tablas.
P es una condición.
en Algebra Relacional :
π A 1,. .., An ( σ P (R1 x ... x Rm) )
16. Ejemplos
Dar el precio al que vende el producto 7 el
fabricante 2.
SELECT precio
FROM VENTAS
WHERE #fab = 2 and #prod = 7;
Dar el número de los fabricantes que vendieron el
producto 4 a menos de $100.
SELECT #fab
FROM VENTAS
WHERE precio < 100 and #prod = 4;
17. Orden de tuplas
Dar los #prod de los productos fabricados, pero
ordenados en forma ascendente.
SELECT #prod
FROM VENTAS
ORDER BY #prod asc;
La cláusula ORDER BY permite indicar el campo
por el cual se ordena el resultado.
Se indica el orden (ASC o DESC)
18. Filtrado de repetidos
Dar los #prod de los productos vendidos, filtrando
los repetidos.
SELECT DISTINCT #prod
FROM VENTAS
ORDER BY #prod;
La cláusula DISTINCT filtra tuplas repetidas.
19. Join
Dar los nombres de fabricantes y los #prod. que
venden.
SELECT nombre, #prod
FROM VENTAS, FABRICANTES
WHERE VENTAS.#fab = FABRICANTES.#fab;
Dar los nombres de fabricantes y los #prod. Que
venden, tales que vendió el producto a $100.
SELECT nombre, #prod
FROM VENTAS, FABRICANTES
WHERE VENTAS.#fab = FABRICANTES.#fab
and precio = 100;
20. Join
En lugar de imponer la igualdad puedo usar el
operador JOIN
SELECT nombre, #prod
FROM (VENTAS JOIN FABRICANTES ON
VENTAS.#fab = FABRICANTES.#fab)
21. Otros tipos de JOIN
En el JOIN sólo se incluyen en el resultado tuplas
que coincidan en valor en los campos de JOIN.
LEFT JOIN: se agrega, para cada tupla de T1 que
no satisface la condición de JOIN con NINGUNA de
T2, una fila con NULOS en las columnas de T2
RIGHT JOIN: análogo al LEFT pero se incluyen
todos los de T2
FULL JOIN: equivale a la unión del LEFT y RIGHT
22. Ejemplo de JOINs
T1 A B T2 A C
1 a 1 xxx
2 b 3 yyy
3 c 5 zzz
SELECT * FROM t1 JOIN t2 ON t1.A = t2.A;
A B A C
1 a 1 xxx
3 c 3 yyy
23. Ejemplo de JOINs
SELECT * FROM t1 LEFT JOIN t2 ON t1.A = t2.A;
A B A C
1 a 1 xxx
2 b NULL NULL
3 c 3 yyy
SELECT * FROM t1 RIGHT JOIN t2 ON t1.A =
t2.A;
A B A C
1 a 1 xxx
3 c 3 yyy
NULL NULL 5 zzz
24. Renombre de atributos
Dar los nombres de fabricantes y los nombres de los productos
que venden.
SELECT nombre, nombre
FROM VENTAS, FABRICANTES, PRODUCTOS
WHERE VENTAS.#fab = FABRICANTES.#fab
AND VENTAS.#prod = PRODUCTOS.#prod;
SELECT FABRICANTES.nombre as “nomFab”,
PRODUCTOS.nombre as “nomProd”
FROM VENTAS, FABRICANTES, PRODUCTOS
WHERE VENTAS.#fab = FABRICANTES.#fab
AND VENTAS.#prod = PRODUCTOS.#prod;
25. Alias
Dar las parejas de nombres de productos con igual
peso.
SELECT nombre, nombre
FROM PRODUCTOS, PRODUCTOS WHERE PRODUCTOS.#prod
!= PRODUCTOS.#prod AND PRODUCTOS.peso = PRODUCTOS.peso;
SELECT p1.nombre, p2.nombre
FROM PRODUCTOS p1, PRODUCTOS p2
WHERE p1.#prod != p2.#prod
AND p1.peso = p2.peso;
26. Union
Dar los #fab que son de Montevideo o que
venden algún producto a precio mayor que
$500.
SELECT #fab FROM FABRICANTES
WHERE departamento = “Montevideo"
UNION
SELECT #fab FROM VENTAS
WHERE precio > 500;
La UNION elimina tuplas repetidas.
27. Diferencia
Dar los #fab que no venden ningún producto.
SELECT #fab FROM FABRICANTES
EXCEPT
SELECT #fab FROM VENTAS;
SELECT #fab FROM FABRICANTES
WHERE #fab not IN
(SELECT #fab
FROM VENTAS)
28. Funciones de agregación
Las funciones de agregación extienden al
álgebra relacional (EJ: contar tuplas, sumar
cantidades, etc.)
Decir cuantos fabricantes hay.
SELECT count(#fab)
FROM FABRICANTES;
Dar el precio máximo de venta.
SELECT max(precio)
FROM VENTAS;
29. Funciones de agregación
Las funciones de agregación aplican sobre conjuntos
de tuplas, no sobre tuplas individuales.
Ejemplo: devolver el fabricante que ha vendido el
producto más caro.
SELECT #fab FROM VENTAS
WHERE precio = max(precio);
SELECT #fab FROM VENTAS
WHERE precio = (SELECT max(precio)
FROM VENTAS);
30. Funciones y Operadores aritméticos
Expresiones en las cláusulas SELECT y WHERE
Se pueden utilizar expresiones aritméticas que
combinen atributos (+, *, /)
Se pueden aplicar funciones sobre atributos:
round (n), abs (n), mod (m, n), sign (n)
31. Ejemplos sobre el SELECT
Para cada producto dar su numero y su peso en
gramos (supongamos que el peso esta kg.).
select #prod, peso * 1.000
from PRODUCTOS;
Queremos que el resultado de peso * 1.000 sea
redondeado a 2 cifras decimales.
select #prod, round (peso * 1.000, 2)
from PRODUCTOS;
32. Ejemplos sobre el WHERE
Dar los nombres de los productos que pesan 3
(tres) veces más que su volumen.
select nombre
from PRODUCTOS
where peso = 3 * volumen;
33. Consultas anidadas
Consultas que se ubican dentro de la cláusula
WHERE de otra consulta.
Ejemplo
SELECT A1,...,An
FROM R1,...,Rm
WHERE (Aj,…,Ak) <op-comp> IN
= ANY
(SELECT Bj,..., Bk = ALL
FROM S1,..., Sn > ANY
WHERE Q) > ALL
34. Ejemplo
Dar los nombres de los fabricantes que venden
productos que también son vendidos por el
fabricante número 1.
SELECT f.nombre
FROM FABRICANTES f, VENTAS v
WHERE f.#fab = v.#fab AND
f.#fab <> 1 AND v.#prod IN
(SELECT #prod Productos
FROM VENTAS vendidos por
WHERE VENTAS.#fab = 1) el fabricante 1
35. Función EXISTS
¿Para qué sirve?:
para chequear si el resultado de una consulta anidada es
vacío.
Ejemplo:
Dar los nombres de los fabricantes que sólo venden el
producto numero 2.
SELECT nombre
FROM FABRICANTES F1, VENTAS V1 Vende el
WHERE F1.#fab = V1.#fab AND producto 2
V1.#prod = 2 AND NOT EXISTS
(SELECT * Y no vende
FROM VENTAS V2 nada más
WHERE V2.#fab=F1.#fab AND
V2.#prod <> 2)
36. Agrupamiento de tuplas
Dar, para cada fabricante, la cantidad de
productos que vendió.
Esto implica:
Tomar cada grupo de tuplas en Ventas correspondiente a un
fabricante.
Contar la cantidad de tuplas en el grupo.
Para realizar esta operación es necesaria la cláusula GROUP
BY.
37. GROUP BY
Es una cláusula más que se agrega al SELECT,
FROM, WHERE
Ejemplo:
SELECT #fab, count(*)
FROM VENTAS
GROUP BY #fab
¿Cómo funciona?
Genera un grupo por cada #fabricante distinto.
De cada grupo devuelve el #fabricante y la
cantidad de tuplas de dicho grupo.
38. Ejemplos
Dar el número de fabricante y los promedios de
precios a los cuales vendió.
SELECT #fab, avg(precio)
FROM VENTAS
GROUP BY #fab
Dar los nombres de fabricante y sus totales de
precio vendidos.
SELECT #fab, nombre, sum(precio)
FROM FABRICANTES F, VENTAS V
WHERE F.#fab = V.#fab
GROUP BY #fab, nombre
39. GROUP BY - Regla de sintaxis
En una sentencia SQL que tiene cláusula
GROUP BY, las expresiones en el SELECT
pueden ser sólo:
Atributos presentes en la cláusula GROUP BY.
Funciones de agregación sobre atributos.
Expresiones aritméticas que utilicen los anteriores.
El agrupamiento se realiza después de aplicar el
WHERE. O sea, sobre las tuplas que cumplen la
condición.
40. Condiciones sobre grupos
Con la cláusula HAVING se pueden especificar
condiciones sobre los grupos.
Por ejemplo:
Dar el número de fabricante y los promedios
de precios a los cuales vendió, pero para los
fabricantes con más de 3 ventas.
SELECT #fab, avg(precio)
FROM VENTAS
GROUP BY #fab
HAVING count(*) > 3;
41. Ejemplos
Dar los nombres de fabricantes que hicieron más
de 5 ventas sobre productos con #prod mayor que
2, junto con el total de precio vendido.
SELECT #fab, nombre, sum(precio)
FROM FABRICANTES, VENTAS
WHERE FABRICANTES.#fab = VENTAS.#fab
and #prod > 2
GROUP BY #fab, nombre
HAVING count(*) > 5;
42. Valor NULL
SQL permite chequear en una consulta si un valor
es nulo.
Predicados: IS NULL, IS NOT NULL
Ejemplo:
Devolver los nombres de los fabricantes de los
que no se conoce el departamento donde trabajan.
SELECT nombre
FROM FABRICANTES
WHERE departamento IS NULL;
43. Cambios de formato
Mayúsculas y minúsculas
Dar los nombres de los productos con descripción
= “rojos”. No recordamos si la descripción fue
ingresada con minúsculas o con mayúsculas.
select nombre
from PRODUCTOS
where upper (desc) = 'ROJO';
select nombre
from PRODUCTOS
where lower (desc) = 'rojo';
44. Cambios de formato
En resumen:
Existen funciones que permiten manipular los
tipos de datos por defecto.
También hay funciones específicas de cada
manejador.