ejemplos sql
TRANSCRIPT
![Page 1: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/1.jpg)
EJEMPLOS PRÁCTICOS SQL
![Page 2: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/2.jpg)
EJEMPLOS PRÁCTICOS SQL
INTEGRIDAD REFERENCIALINTEGRIDAD REFERENCIAL
![Page 3: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/3.jpg)
DROP SCHEMA IF EXISTS Tablas1;CREATE SCHEMA Tablas1;USE Tablas1;
create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(10),p ( ),
PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(create table Pedidos(npedido INTEGER,fecha DATE,Cantidad DOUBLE,cliente_Dni VARCHAR(10),PRIMARY KEY ( did )PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni)
)ENGINE=InnoDB;) ;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO Pedidos VALUES ('122' '2010/01/05' 7 '7211545v');INSERT INTO Pedidos VALUES ( 122 , 2010/01/05 ,7, 7211545v );
![Page 4: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/4.jpg)
TABLA: Cliente
TABLA: Pedidos
![Page 5: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/5.jpg)
![Page 6: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/6.jpg)
Esto es un ejemplo de intento de borrado de una tupla que tiene un campo queaparece como clave foránea en otra tabla. Por omision se aplica la condición de restrict y no se puede borrar hasta que no borre la tupla de la tabla hija.
![Page 7: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/7.jpg)
Esto es un ejemplo de intento de actualización de una tupla que tiene un campo queaparece como clave foránea en otra tabla. Por omision se aplica la condición de restrict y no se puede actualizar.de restrict y no se puede actualizar.
![Page 8: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/8.jpg)
DROP SCHEMA IF EXISTS Tablas2;CREATE SCHEMA Tablas2;USE Tablas2;
create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(10),
PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(npedido INTEGER,fecha DATE,Cantidad DOUBLE,cliente Dni VARCHAR(10)cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
![Page 9: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/9.jpg)
TABLA: Cliente
TABLA: Pedidos
![Page 10: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/10.jpg)
Para probar la restricción ON UPDATE CASCADE … actualizamos el valor pde un DNI. El resultado debe de ser que se actualiza la tabla padre y la hija
![Page 11: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/11.jpg)
Se observa que se han actualizado las tablas padre e hija
![Page 12: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/12.jpg)
Si ahora borramos una tupla de la tabla padre se borra la tupla correspondiente de la tabla hija.
![Page 13: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/13.jpg)
DROP SCHEMA IF EXISTS Tablas3;CREATE SCHEMA Tablas3;USE Tablas3;
create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(10),
PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(npedido INTEGER,fecha DATE,Cantidad DOUBLE,cliente Dni VARCHAR(10)cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON DELETE RESTRICT ON UPDATE CASCADE
)ENGINE I DB)ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
![Page 14: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/14.jpg)
La restricción más adecuada en la mayoría de los casos es evitar realizar borrados en cascada y sin embargo sievitar realizar borrados en cascada y sin embargo si actualizar en cascada
![Page 15: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/15.jpg)
Observamos que la actualización en cascada ha funcionado
![Page 16: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/16.jpg)
A diferencia del ejemplo de la Tablas2 ahora no se puede borrar una tupla de la tabla padre por la restricción ON DELETE RESTRICT.
![Page 17: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/17.jpg)
Nótese una cuestión que a veces es causa de confusión.Aunque es en la tabla hija donde se escribe la restricción de la clave foráneaAunque es en la tabla hija donde se escribe la restricción de la clave foránea,es decir, que un atributo depende de la clave de otra tabla….
Se puede borrar sin ningún problema una tupla de una tabla que contiene una clave foránea sin afectar a la tupla correspondiente de la tabla padre…En la figura se ve el ejemplo de borrar una fila en la tabla de pedidos.
![Page 18: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/18.jpg)
Como se ve en la figura la tabla de pedidos está vacía y la tabla de clientes está intactala tabla de clientes está intacta.
![Page 19: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/19.jpg)
DROP SCHEMA IF EXISTS Tablas4;CREATE SCHEMA Tablas4;USE Tablas4;
create table Cliente(Dni VARCHAR(10),Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(10),
PRIMARY KEY (Dni))ENGINE=InnoDB;)ENGINE=InnoDB;
create table Pedidos(npedido INTEGER,fecha DATE,Cantidad DOUBLE,cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),( p ),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON DELETE RESTRICT ON UPDATE
CASCADE
)ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO P did VALUES ('122' '2010/01/0 ' ' 211 4 ')INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
![Page 20: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/20.jpg)
A í t l j l d i t t i fil dAquí mostramos el ejemplo de intentar incorporar una fila nueva de pedidos de un cliente que no existe en la tabla de clientes. Las reglas de integridad referencial nos lo impiden
![Page 21: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/21.jpg)
Insertamos ahora dos nuevos clientes……..
![Page 22: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/22.jpg)
El resultado lo observamos en la figura ……
![Page 23: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/23.jpg)
Ahora si que podemos incorporar una tupla nueva de pedido conel cliente incorporado en la tabla de clientes
![Page 24: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/24.jpg)
EJEMPLOS PRÁCTICOS SQL
MODIFICACIÓN TABLASMODIFICACIÓN TABLAS
![Page 25: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/25.jpg)
DROP SCHEMA IF EXISTS T bl 5DROP SCHEMA IF EXISTS Tablas5;CREATE SCHEMA Tablas5;USE Tablas5;
create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(10),
PRIMARY KEY (Dni)PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(npedido INTEGERnpedido INTEGER,fecha DATE,Cantidad DOUBLE,cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON DELETE RESTRICT ON UPDATE CASCADE
)ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO Pedidos VALUES ('122' '2010/01/05' 7 '7211545v');INSERT INTO Pedidos VALUES ( 122 , 2010/01/05 ,7, 7211545v );
![Page 26: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/26.jpg)
Agregamos una columna a la tabla con ALTER …ADD
![Page 27: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/27.jpg)
Cambiamos el nombre de una columna a la tabla con ALTER …CHANGE
![Page 28: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/28.jpg)
Modificamos el tipo de datos de una columna a la tabla con ALTER …MODIFY
![Page 29: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/29.jpg)
Eliminamos una columna a la tabla con ALTER …DROP
![Page 30: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/30.jpg)
Estamos tratando de borrar una tabla padre. Las restricciones de la BD no nos permite al tener asociada la tabla una clave ajena
![Page 31: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/31.jpg)
La tabla hija “pedidos” se puede borrar sin problemas. Es donde se haya la clave ajenaEs donde se haya la clave ajena
![Page 32: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/32.jpg)
EJEMPLOS PRÁCTICOS SQL
INSERCIÓN DATOS EN TABLASINSERCIÓN DATOS EN TABLAS
![Page 33: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/33.jpg)
DROP SCHEMA IF EXISTS Tablas6;CREATE SCHEMA Tablas6;USE Tablas6;
create table Cliente(create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(40),PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(npedido INTEGER,fecha DATE,ec a ,Cantidad DOUBLE,cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON DELETE
RESTRICT ON UPDATE CASCADERESTRICT ON UPDATE CASCADE)ENGINE=InnoDB;
create table Personal(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(40),PRIMARY KEY (Dni))ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');INSERT INTO Personal VALUES ('7211541v','Juan','Garzón Rodriguez');INSERT INTO Personal VALUES ('7211542v','Antonio','Marina Esquivel');INSERT INTO Personal VALUES ('7211543v' 'Cesar' 'Bernal SanJose');INSERT INTO Personal VALUES ( 7211543v , Cesar , Bernal SanJose );INSERT INTO Personal VALUES ('7211544v','Rodrigo','Alonso Vera');INSERT INTO Personal VALUES ('7211546v','Maria','Lopez Gomez');
![Page 34: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/34.jpg)
TABLA: Cliente
TABLA: Pedidos
TABLA: Personal
![Page 35: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/35.jpg)
Con este comando que es un mezcla de INSERT INTO y SELECT conseguimos meter en la tabla cliente 5 tuplas
![Page 36: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/36.jpg)
![Page 37: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/37.jpg)
EJEMPLOS PRÁCTICOS SQL
ACTUALIZACIÓN DATOS EN TABLASACTUALIZACIÓN DATOS EN TABLAS
![Page 38: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/38.jpg)
DROP SCHEMA IF EXISTS Tablas7;CREATE SCHEMA Tablas7;USE Tablas7;
create table Cliente(create table Cliente(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(40),PRIMARY KEY (Dni))ENGINE=InnoDB;
create table Pedidos(npedido INTEGER,fecha DATE,ec a ,Cantidad DOUBLE,cliente_Dni VARCHAR(10),PRIMARY KEY (npedido),FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) ON
DELETE RESTRICT ON UPDATE CASCADEDELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB;
create table Personal(Dni VARCHAR(10),Nombre VARCHAR(10),Apellido VARCHAR(40),PRIMARY KEY (Dni))ENGINE=InnoDB;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
INSERT INTO Cliente VALUES ('7211541v','Juan','Garzón Rodriguez');INSERT INTO Cliente VALUES ('7211542v' 'Antonio' 'Marina Esquivel');INSERT INTO Cliente VALUES ( 7211542v , Antonio , Marina Esquivel );INSERT INTO Cliente VALUES ('7211543v','Cesar','Bernal SanJose');INSERT INTO Cliente VALUES ('7211544v','Maria','Alonso Vera');INSERT INTO Cliente VALUES ('7211546v','Maria','Lopez Gomez');
![Page 39: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/39.jpg)
Vamos a probar el comando actualizar de SQL.Para ello actualizamos todas las tuplas en la que aparece Maria
![Page 40: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/40.jpg)
![Page 41: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/41.jpg)
En este ejemplo vemos como es imposible actualizar los dos registrosl b l l C i DNIen los que aparece en nombre el valor Carmen a un mismo DNI
ya que DNI tiene la restricción de clave primaria
![Page 42: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/42.jpg)
EJEMPLOS PRÁCTICOS SQL
CONSULTAS BÁSICAS CON SELECTCONSULTAS BÁSICAS CON SELECT
![Page 43: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/43.jpg)
DROP SCHEMA IF EXISTS SELECT1;DROP SCHEMA IF EXISTS SELECT1;CREATE SCHEMA SELECT1;USE SELECT1;
create table Información Ventas(create table Información_Ventas(Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;) ;
create table Zona_Ventas(Región VARCHAR(10),g ( ),Tienda VARCHAR(10))ENGINE=InnoDB;
INSERT INTO Información Ventas VALUES ('Madrid',1500,'2010/01/05');_ ( , , );INSERT INTO Información_Ventas VALUES ('Sevilla',250,'2010/01/08');INSERT INTO Información_Ventas VALUES ('Madrid',300,'2010/01/07');INSERT INTO Información_Ventas VALUES ('Barcelona',700,'2010/01/08');
INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Madrid');INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Sevilla');INSERT INTO Zona Ventas VALUES ('Noreste','Zaragoza');_ ( , g );INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 44: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/44.jpg)
TABLA: Informacion_ventas
TABLA:Zona_Ventas
![Page 45: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/45.jpg)
Tabla: Información_Ventas
Selección Básica:
Seleccionamos el nombre de todas las tiendas
![Page 46: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/46.jpg)
Tabla: Información_Ventas
Selección Básica:
De esta forma eliminamos los duplicados que genera la consulta SELECT
Selección Básica:
![Page 47: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/47.jpg)
Tabla: Información_Ventas
Selección Condicional Simple:Se ecc ó Co d c o a S p e
Tiendas cuyas ventas son mayores de 1000
![Page 48: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/48.jpg)
DROP SCHEMA IF EXISTS SELECT2;CREATE SCHEMA SELECT2;USE SELECT2;
create table Información Ventas(create table Información_Ventas(Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;
create table Zona_Ventas(Región VARCHAR(10),Tienda VARCHAR(10)( ))ENGINE=InnoDB;
INSERT INTO Información_Ventas VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Información Ventas VALUES ('Sevilla' 250 '2010/01/08');INSERT INTO Información_Ventas VALUES ( Sevilla ,250, 2010/01/08 );INSERT INTO Información_Ventas VALUES ('Cuenca',300,'2010/01/07');INSERT INTO Información_Ventas VALUES ('Barcelona',700,'2010/01/08');
INSERT INTO Z V t VALUES ('C t S ' 'M d id')INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Madrid');INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Sevilla');INSERT INTO Zona_Ventas VALUES ('Noreste','Zaragoza');INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 49: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/49.jpg)
Tabla: Información_Ventas
Selección Condicional Simple Compuesta:
Tiendas cuyas ventas son mayores de 1000 ó las ventas estáncomprendidas entre 275 y 500
![Page 50: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/50.jpg)
Tabla: Información_Ventas
Selección Tuplas en Función de Valores (IN):
Información completa de lasTiendas de “Madrid” y “Sevilla”
![Page 51: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/51.jpg)
Tabla: Información_Ventas
Selección Búsqueda de Patrones (LIKE):
Seleccion de tuplas que contengan un patrón
![Page 52: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/52.jpg)
O SC S S S CDROP SCHEMA IF EXISTS SELECT3;CREATE SCHEMA SELECT3;USE SELECT3;
create table Información_Ventas(Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;)ENGINE=InnoDB;
create table Zona_Ventas(Región VARCHAR(10),Ti d VARCHAR(10)Tienda VARCHAR(10))ENGINE=InnoDB;
INSERT INTO Información_Ventas VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Información_Ventas VALUES ('Sevilla',250,'2010/01/08');_ ( )INSERT INTO Información_Ventas VALUES ('Cuenca',300,'2010/01/07');INSERT INTO Información_Ventas VALUES ('Barcelona',1500,'2010/01/08');
INSERT INTO Zona Ventas VALUES ('Centro-Sur' 'Madrid');INSERT INTO Zona_Ventas VALUES ( Centro-Sur , Madrid );INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Sevilla');INSERT INTO Zona_Ventas VALUES ('Noreste','Zaragoza');INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 53: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/53.jpg)
Tabla: Información_Ventas
Selección Ordenación de Resultados (ORDER BY):
Selección de Tiendas ordenadas por el volumen de ventas en Orden descendente
![Page 54: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/54.jpg)
Tabla: Información_Ventas
Selección Ordenación de Resultados (ORDER BY):En este ejemplo se clasifican las tuplas en primer lugar en orden descendente del campo Ventas y luego si hay tuplas del mismo valor por orden descentente de fecha
![Page 55: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/55.jpg)
DROP SCHEMA IF EXISTS SELECT4;CREATE SCHEMA SELECT4;USE SELECT4;
create table Información Ventas(_ (Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;
create table Zona_Ventas(Región VARCHAR(10),Tienda VARCHAR(10))ENGINE=InnoDB;
INSERT INTO Información_Ventas VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Información_Ventas VALUES ('Sevilla',250,'2010/01/08');INSERT INTO Información Ventas VALUES ('Madrid',300,'2010/01/07');_ ( , , );INSERT INTO Información_Ventas VALUES ('Barcelona',700,'2010/01/08');
INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Madrid');INSERT INTO Zona Ventas VALUES ('Centro-Sur' 'Sevilla');INSERT INTO Zona_Ventas VALUES ( Centro-Sur , Sevilla );INSERT INTO Zona_Ventas VALUES ('Noreste','Zaragoza');INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 56: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/56.jpg)
Tabla: Información_Ventas
S l ió F i A it étiSelección Funciones Aritméticas:
Seleccionar todas las tuplas de la tabla “Información_Ventas’( i t l l h ) bt i d l i ( t bl )(ya que no existe clausula when) , obteniendo una relacion(una tabla).Luego proyectamos por el campo Ventas y hacemos una operación.
![Page 57: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/57.jpg)
Tabla: Información_Ventas
Selección Funciones Aritméticas:
Número de Tuplas de una tabla
![Page 58: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/58.jpg)
Tabla: Información_Ventas
S l ió F i A it éti GSelección Funciones Aritméticas con Grupos:
Ventas agrupadas por tiendas
![Page 59: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/59.jpg)
Tabla: Información_Ventas
Selección Funciones Aritméticas con Grupos:
Ventas agrupadas por tiendas de las tiendas cuyas ventas Son superiores a 1500
![Page 60: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/60.jpg)
Tabla: Información_Ventas
Selección con Grupos:
Esta consulta no tendría mucho sentido ya en un grupo la fecha de cada tupla es diferente
![Page 61: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/61.jpg)
La condición que aplica HAVING tiene que ser un operador que abarque a todos los miembros del grupo. Si se refiere a un campo que puede ser diferente en los miembros del grupo no funcionap q p g p
![Page 62: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/62.jpg)
Tiendas y suma de ventas agrupadas por iguales valores de tienda y ventas
![Page 63: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/63.jpg)
Selección con Grupos:
Suma de las ventas totales de las tiendas agrupadas por el nombrede Madrid
![Page 64: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/64.jpg)
Selección con Grupos:Se ecc ó co G upos
Máximo de ventas de las tiendas agrupadas por el nombre
![Page 65: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/65.jpg)
EJEMPLOS PRÁCTICOS SQL
JOIN NATURAL CON SELECTJOIN NATURAL CON SELECT
![Page 66: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/66.jpg)
DROP SCHEMA IF EXISTS JOIN1;DROP SCHEMA IF EXISTS JOIN1;CREATE SCHEMA JOIN1;USE JOIN1;create table Información_Ventas(
Tienda VARCHAR(10),V t INTEGERVentas INTEGER,Fecha DATE)ENGINE=InnoDB;
create table Zona_Ventas(Región VARCHAR(10),Tienda VARCHAR(10))ENGINE=InnoDB;
INSERT INTO I f ió V VA UES ('M d id' 1 00 '2010/01/0 ')INSERT INTO Información_Ventas VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Información_Ventas VALUES ('Sevilla',250,'2010/01/08');INSERT INTO Información_Ventas VALUES ('Madrid',300,'2010/01/07');INSERT INTO Información_Ventas VALUES ('Barcelona',700,'2010/01/08');
INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Madrid');INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Sevilla');INSERT INTO Zona_Ventas VALUES ('Noreste','Zaragoza');
');INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 67: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/67.jpg)
TABLA: Informacion_ventasTABLA:Zona_Ventas
![Page 68: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/68.jpg)
Join Natural:
Ventas por Regiones
![Page 69: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/69.jpg)
EJEMPLOS PRÁCTICOS SQL
CONSULTAS ANIDADASCONSULTAS ANIDADAS
![Page 70: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/70.jpg)
TABLA: Informacion_ventasTABLA:Zona_Ventas
Consulta Anidada:Consulta Anidada:
Ventas de todas las tiendas de la región Noreste
![Page 71: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/71.jpg)
![Page 72: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/72.jpg)
Consulta join equivalente a anidada:
Ventas de todas las tiendas de la región Noreste
![Page 73: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/73.jpg)
DROP SCHEMA IF EXISTS CASE1;CREATE SCHEMA CASE1;USE CASE1;
create table Información_Ventas(Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;
create table Zona_Ventas(Región VARCHAR(10),Tienda VARCHAR(10))ENGINE=InnoDB;
INSERT INTO Información_Ventas VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Información_Ventas VALUES ('Sevilla',250,'2010/01/08');INSERT INTO Información_Ventas VALUES ('Cuenca',300,'2010/01/07');INSERT INTO Información_Ventas VALUES ('Barcelona',1500,'2010/01/08');
INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Madrid');INSERT INTO Zona_Ventas VALUES ('Centro-Sur','Sevilla');INSERT INTO Zona_Ventas VALUES ('Noreste','Zaragoza');INSERT INTO Z V VALUES ('N ' 'B l ')INSERT INTO Zona_Ventas VALUES ('Noreste','Barcelona');
![Page 74: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/74.jpg)
Utilización comando case:
Modificación de la columna Ventas en función del valor
![Page 75: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/75.jpg)
DROP SCHEMA IF EXISTS UNION1;CREATE SCHEMA UNION1;USE UNION1;
create table Ventas_tienda(Tienda VARCHAR(10),Ventas INTEGER,Fecha DATE)ENGINE=InnoDB;
create table Ventas_Internet(Fecha DATE,Ventas INTEGER)ENGINE=InnoDB;
INSERT INTO Ventas_tienda VALUES ('Madrid',1500,'2010/01/05');INSERT INTO Ventas_tienda VALUES ('Sevilla',250,'2010/01/08');INSERT INTO Ventas_tienda VALUES ('Madrid',300,'2010/01/07');INSERT INTO V i d VA UES ('B l ' 1 00 '2010/01/08')INSERT INTO Ventas_tienda VALUES ('Barcelona',1500,'2010/01/08');
INSERT INTO Ventas_Internet VALUES ('2010/01/07',250);INSERT INTO V t I t t VALUES ('2010/01/10' 535)INSERT INTO Ventas_Internet VALUES ('2010/01/10',535);INSERT INTO Ventas_Internet VALUES ('2010/01/11',320);INSERT INTO Ventas_Internet VALUES ('2010/01/12',750);
![Page 76: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/76.jpg)
![Page 77: Ejemplos sql](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559d7ae21a28ab446e8b45aa/html5/thumbnails/77.jpg)