La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SQL 2: Structured Query Language

Presentaciones similares


Presentación del tema: "SQL 2: Structured Query Language"— Transcripción de la presentación:

1 SQL 2: Structured Query Language
Paul Leger

2 ¿Para que sirve “order by”?
SQL Repaso de la clase anterior: CREAR TABLA: create table INSERTAR: Insert SELECCIONAR: Select * from table RENOMBRAR: As PRODUCTO CARTESIANO: , NATURAL JOIN: Natural Join ¿Para que sirve “order by”?

3 Modificar UPDATE TABLA SET atributo1=valor1, atributo2=valor2,... WHERE algúnAtributo = nuevoValor; Ejemplo: Update dueno set nombre = «Paul» where rut_d = Responda qué problemas puede generar está instrucción … Modificar la primary key Modificar una foreign key Modificar datos sin usar la primary key en la condición

4 Borrar Ejemplo: Delete from Dueno where rut_d = 9872342
DELETE FROM table_name WHERE some_column=some_value Ejemplo: Delete from Dueno where rut_d = ¿Qué pasa cuando se borra un tupla de una entidad que está relacionada con otras entidades (ej. Alumno y Tipo de Alumno)?

5 SELECT Rut_d FROM Dueno UNION SELECT Rut_a FROM Arrienda
Unión SELECT Rut_d FROM Dueno UNION SELECT Rut_a FROM Arrienda No muestra los elementos repetidos. UNION ALL muestra los elementos repetidos Las tablas deben tener el mismo número de columna Similarmente a algebra relacional, en algunos motores, es necesario renombrar los atributos y que sean del mismo dominio

6 Intersección SELECT Rut_d as rut FROM Dueno INTERSECT SELECT Rut_a as rut FROM Arrienda Las tablas deben tener el mismo número de columna Similarmente a algebra relacional, en algunos motores, es necesario renombrar los atributos y que sean del mismo dominio

7 Diferencia SELECT RUT_D as rut FROM Dueno EXCEPT SELECT RUT_A as rut FROM Arrendatario Las tablas deben tener el mismo número de columna Similarmente a algebra relacional, en algunos motores es necesario renombrar los atributos y que sean del mismo dominio (recomendación: usted siempre renombre)

8 ¿Cuál es la diferencia entre ellos?
Agregación Se pueden usar funciones count, max, min y otras funciones Select count(*) from dueno Select count(distinct nombre) from dueno Select count(*) as cuenta from dueno ¿Cuál es la diferencia entre ellos?

9 Agregación por Agrupación
Select rut, count(*) from telefono group by rut Select rut_a, sum(deuda) from arrienda group by rut_a NOTA: En algunos motores, uno puede escribir cualquier atributo al lado izquierdo de la consulta, es decir, no necesariamente debe ser el mismo atributo a ambos lados. Sin embargo, esto trae resultados inesperados. Siempre que sea posible, siga la norma/convención de algebra relacional (= repetir el mismo atributo).

10 Ejemplo Select rut, sum(deuda) from arrienda group by rut
En algunos motores, es simplemente “sum” Rut Id_Casa deuda 1 10000 2 2000 3 4 40000 5 Rut Sum(deuda) 1 50000 2 2000

11 Condiciones de grupo Select rut, sum(deuda) from arrienda group by rut having sum(deuda) > 3000 Rut Id_Casa deuda 1 10000 2 2000 3 4 40000 5 Rut Sum(deuda) 1 50000 2 2000

12 Condición de tupla y condición de grupo
Select rut, sum(deuda) from arrienda where deuda < 3000 group by rut having sum(deuda) > 0 Rut Id_Casa deuda 1 10000 2 2000 3 4 40000 5 Rut Sum(deuda) 1 2 2000

13 Sub-consultas Es posible escribir una consulta dentro de otra consulta Select * from (select rut_a as rut from arrienda where deuda > 0) natural join telefono Y a esta tabla, se realiza un natural join con “Telefono” Rut_a Id_Casa deuda 1 10000 2 2000 3 4 40000 5 Rut 1 2

14 Simple ¿no? Se puede parecer mucho al join (natural)
Exist SELECT * FROM Telefono WHERE EXISTS (select * from dueno where Telefono.rut = dueno.rut_d) Simple ¿no? Se puede parecer mucho al join (natural)

15 División: TAREA … para ahora NOTA Y RECOMENDACIÓN: APRENDER DE MEMORIA ESTA OPERACIÓN


Descargar ppt "SQL 2: Structured Query Language"

Presentaciones similares


Anuncios Google