0% found this document useful (0 votes)
32 views

Base de Datos - SQL 1

The document discusses various SQL concepts like SELECT statements, joins, set operations, subqueries and aggregation functions. It provides examples of inner joins, left joins, full joins, cross joins, UNION, INTERSECT, EXCEPT operators and functions like COUNT, SUM, AVG, MIN, MAX. Tables with sample data are shown to illustrate concepts like joins that combine rows from two tables based on a common column.

Uploaded by

Mikhail Tal
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Base de Datos - SQL 1

The document discusses various SQL concepts like SELECT statements, joins, set operations, subqueries and aggregation functions. It provides examples of inner joins, left joins, full joins, cross joins, UNION, INTERSECT, EXCEPT operators and functions like COUNT, SUM, AVG, MIN, MAX. Tables with sample data are shown to illustrate concepts like joins that combine rows from two tables based on a common column.

Uploaded by

Mikhail Tal
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Base de datos

Practica N° 5
TablaA y TablaB

Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
TablaA TablaB
Select Sintaxis
SELECT select_list [ INTO new_table ]
FROM table_source
[WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Ejemplos de select
• select * from TablaA

• select name from TablaA

• select id from TablaA where name=‘Pirate’

• select * from TablaA where id=1 or


name=‘Ninja’
Joins explícitos

Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
TablaA TablaB
Joins explícitos: Inner join
• Inner join solo produce un conjunto de
registros que coincidan en ambas tablas.

SELECT * FROM TableA


INNER JOIN TableB
ON TableA.name = TableB.name
Joins explícitos: Inner join
Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
Tabla A Tabla B

Id name id name
1 Pirate 2 Pirate
3 Ninja 4 Ninja
TablaA inner join TablaB on TablaA.name=TablaB.name
Joins explícitos: left join
• Left join produce un conjunto completo de
registros de TablaA, con los registros (donde
estén disponibles) que coincidan en TablaB. Si
no coinciden se coloca NULL en el lado
derecho.
Joins explícitos: left join
SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name
Joins explícitos: left join
Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
Tabla A Tabla B

Id name id name
1 Pirate 2 Pirate
2 Monkey Null Null
3 Ninja 4 Ninja
4 Spaghetti Null Null
TablaA left join TablaB on TablaA.name=TablaB.name
Joins explícitos: left join
SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableB.id IS null
Joins explícitos: left join
Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
Tabla A Tabla B

Id name id name
2 Monkey Null Null
4 Spaghetti Null Null
TablaA left join TablaB on TablaA.name=TablaB.name where TablaB.id is null
Joins explícitos: full join
• Full join produce un conjunto de todos los
registros de la TablaA y TablaB, donde
coincidan ambos lados cuando este
disponible. Si no hay coincidencia en uno de
los lados contendrá Null.
Joins explícitos: full join
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
Joins explícitos: full join
Id name id name
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
Tabla A Tabla B

id name Id name
1 Pirate 2 Pirate
2 Monkey Null Null
3 Ninja 4 Ninja
4 Spaghetti Null Null
Null Null 1 Rutabaga
Null Null 3 Darth Vader
TablaA full join TablaB on TablaA.name=TablaB.name
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableA.id IS null OR TableB.id IS null
Joins explícitos: cross join
• Cross join genera el producto cartesiano de
ambas tablas.
• Esto une todos los registros de la TablaA con la
TablaB. Si la TablaA tiene 4 registros y la
TablaB tiene 5 registros, el producto
cartesiano producirá 5x4 = 20 registros.
Operaciones de conjuntos
Operaciones de conjuntos: Union
• El operador UNION combina la salida de 2
queries y retorna todos los registros del
primer query y del segundo query. Sin
registros repetidos.
Operaciones de conjuntos: UNION
Id name id name
Ejemplo: 1 Pirate 1 Rutabaga
select * from TablaA 2 Monkey 2 Pirate
union 3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
select * from TablaB
TablaA TablaB
Id name
1 Pirate
2 Monkey
3 Ninja
1 Rutabaga
2 Pirate
3 Darth Vader
4 Ninja
Operaciones de conjuntos: INTERSECT

• El operador INTERSECT evalúa la salida de 2


queries y retorna solamente aquellos registros
que estén tanto en el primer query como en el
segundo.
Operaciones de conjuntos: INTERSECT
Id name id name
Ejemplo: 1 Pirate 1 Rutabaga
select name from TablaA 2 Monkey 2 Pirate
intersect 3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
select name from TablaB
TablaA TablaB
Name
Pirate
Ninja
Operaciones de conjuntos: EXCEPT
• El operador EXCEPT evalúa la salida de 2
queries regresa la diferencia de las salidas. El
resultado son los registros del primer query
exceptuando aquellos registros que estén en
el segundo query.
Operaciones de conjuntos: EXCEPT
Id name id name
Ejemplo: 1 Pirate 1 Rutabaga
select name from TablaA 2 Monkey 2 Pirate
except 3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
select name from TablaB
TablaA TablaB
Name
Monkey
Spaghetti
Operador in
• El operador in nos permite saber si existe
algún valor x en una lista de elementos.
• Ejemplo:
– select * from TablaA where id in (1, 3, 7)
– select * from TablaA where id=1 or id=3 or id=7
Subqueries
• Un subquery es un query anidado dentro de
un select, update, insert, delete o incluso
dentro de otro subquery.
• Ejemplos:
– select * from TablaA
where id not in (select id from TablaB)
Funciones de agregación
• Las funciones de agregación realizan análisis
estadísticos sobre campos numéricos así como
también fechas.
• Ejemplos:
– AVG(campo): Promedio sobre los valores del campo
– COUNT(campo): Cuenta el numero de valores no nulos
que existe sobre un campo
– MAX(campo): Regresa el máximo de un campo
– MIN(campo): Regresa el mínimo de un campo
– SUM(campo): Regresa la suma de un campo
Funciones de agregación
• Ejemplos:
– Select count(id), sum(id), avg(id), max(id), min(id)
from TablaA
– Resultado: 4, 10, 2.5, 4, 4

Id name
1 Pirate
2 Monkey
3 Ninja
4 Spaghetti
TablaA

You might also like