SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
EJERCICIOS SQL 1-14
Javier García Cambronel
PRIMERO DE ASIR
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 1
CREAMOS LA BASE DE DATOS
CREAMOS LAS TABLAS TENIENDO EN CUENTA LA
INTEGRIDAD REFERENCIAL
APRENDEMOS A INSERTAR LOS DATOS DE
DIFERENTES FORMAS SIGUIENDO ESTOS PASOS
SOLUCION A LOS EJERCICIOS 1-14
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 2
CREAR UNA BASE DE DATOS CON LAS SIGUIENTES
CARACTERÍSTICAS
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 3
CREAMOS LA BASE DE DATOS
Pulsamos el botón derecho sobre bases de datos y seleccionamos “nueva base de datos”
Lo siguiente que tenemos que hacer es poner el nombre que queramos a la base de datos y
pulsamos en aceptar.
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 4
Una vez hecho esto ya tenemos la base de datos creada, con el nombre que le hemos
puesto.
Para empezar a utilizarla lo único que tendríamos que hacer seria pulsar en “nueva consulta”
y escribir use seguido del nombre de la base de datos, en este caso como vemos use SQL una
vez escrito esto ejecutaríamos la consulta y ya empezaríamos a utilizar la base de datos.
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 5
CREAMOS LAS TABLAS TENIENDO EN CUENTA LA
INTEGRIDAD REFERENCIAL
TABLA PROVEEDORES
CREATE TABLE Proveedores
(P# CHAR(3),
PNombre VARCHAR(20),
Categoria INT,
Ciudad VARCHAR(30),
CONSTRAINT P#_pk PRIMARY KEY(P#))
TABLA COMPONENTES
CREATE TABLE Componentes
(C# CHAR(3),
CNombre VARCHAR(20),
Color CHAR(10),
Peso INT,
Ciudad VARCHAR(30),
CONSTRAINT C#_pk PRIMARY KEY(C#))
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 6
TABLA ARTICULOS
CREATE TABLE Articulos
(T# CHAR(3),
TNombre VARCHAR(20),
Ciudad VARCHAR(30),
CONSTRAINT T#_pk PRIMARY KEY(T#))
TABLA ENVIOS
CREATE TABLE Envios
(P# CHAR(3) CONSTRAINT P# REFERENCES Proveedores(P#),
C# CHAR(3) CONSTRAINT C# REFERENCES Componentes(C#),
T# CHAR(3) CONSTRAINT T# REFERENCES Articulos(T#),
Cantidad INT)
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 7
APRENDEMOS A INSERTAR LOS DATOS DE
DIFERENTES FORMAS SIGUIENDO ESTOS PASOS
Lo primero que tenemos que hacer una vez hemos creado las tablas con sus respectivas
claves es introducir los datos que se nos dan, para ello ejecutamos las siguientes
instrucciones.
INSERTAMOS LOS DATOS DE LA TABLA COMPONENTES
Primero lo hacemos con componentes, siguiendo los valores que se nos han dado en las
tablas del enunciado, para hacer esto, podemos insertar los valores uno por uno.
Como en el siguiente caso, esta es una forma de insertar los valores en la fila de una tabla, lo
primero que hacemos es utilizar el comando insert into con la opción de valores para ello
escribimos después de insert into el nombre concreto de la tabla donde vamos a insertar
dichos valores, en la línea siguiente escribiremos values seguido de los valores que se van a
insertar en las columnas en el orden correcto, “también hay que tener en cuenta que los
datos de caracteres se introducen con comillas alrededor, pero no así los datos numéricos”
una vez hecho esto nos quedaría una consulta, como la que vemos a continuación y
tendríamos que pulsar en el botón ejecutar nos aparecerá un mensaje que nos indicara el
número de filas afectadas.
insert into componentes
values ('c1','x3a','rojo',12,'sevilla')
COMO INSERTAR VARIOS REGISTROS A LA VEZ
Para hacer esto, seguimos el mismo procedimiento que el anterior, pero tenemos que tener
en cuenta un par de cosas, la palabra values, solo debemos escribirla una vez, y entre
instrucciones, deben ir separadas mediante una coma como podemos ver a continuación:
insert into componentes
values ('c2','b85','verde',17,'madrid'),
('c3','c4b','azul',17,'malaga'),
('c4','c4b','rojo',14,'sevilla'),
('c5','vt8','azul',12,'madrid'),
('c6','c30','rojo',19,'sevilla')
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 8
INSERTAMOS LOS DATOS DE LA TABLA PROVEEDORES
Hacemos lo mismo insertando los datos, en la tabla proveedores, ejecutando la siguiente
sentencia:
insert into proveedores
values ('p1','carlos',20,'sevilla'),
('p2','juan',10,'madrid'),
('p3','jose',30,'sevilla'),
('p4','inma',20,'sevilla'),
('p5','eva',30,'caceres')
INSERTAMOS LOS DATOS DE LA TABLA ARTICULOS
Volvemos a hacer lo mismo, pero ahora introduciendo los valores para artículos
insert into articulos
values ('t1','clasificadora','madrid'),
('t2','perforadora','malaga'),
('t3','lectora','caceres'),
('t4','consola','caceres'),
('t5','mezcladora','sevilla'),
('t6','terminal','barcelona'),
('t7','cinta','sevilla')
¿Qué pasa cuando no se incluyen todos los valores para las columnas?
insert into articulos
values ('t1','clasificadora')
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 9
Solución al problema anterior, para insertar una fila con menos de todas las columnas, se
tienen que especificar los nombres de las columnas.
insert into articulos (t#,tnombre)
values ('t1','clasificadora')
En este caso la fila que hemos introducido, contendrá valores NULL o valores
predeterminados como podemos ver en la siguiente imagen.
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 10
¿Qué pasa cuando el orden de los valores es incorrecto?
insert into articulos
values ('clasificadora','madrid','t1')
Solución al problema anterior, para que esto no se produzca, si tenemos desordenados los
datos de las tablas, tendríamos que especificar especificando el orden de los nombres de las
columnas como vemos a continuación.
insert into articulos (tnombre,ciudad,t#)
values ('perforadora','malaga','t2')
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 11
INSERTAMOS LOS DATOS DE LA TABLA ENVIOS
Ahora volveremos a hacer lo mismo, con la tabla que nos falta, que seria la tabla de envíos,
para esta operación ejecutaríamos la siguiente instrucción
insert into envios
values ('p1','c1','t1',200),
('p1','c1','t4',700),
('p2','c3','t1',400),
('p2','c3','t2',200),
('p2','c3','t3',200),
('p2','c3','t4',500),
('p2','c3','t5',600),
('p2','c3','t6',400),
('p2','c3','t7',800),
('p2','c5','t2',100),
('p3','c3','t1',200),
('p3','c4','t2',500),
('p4','c6','t3',300),
('p4','c6','t7',300),
('p5','c2','t2',200),
('p5','c2','t4',100),
('p5','c5','t4',500),
('p5','c5','t7',100),
('p5','c6','t2',200),
('p5','c1','t4',100),
('p5','c3','t4',200),
('p5','c4','t4',800),
('p5','c5','t5',400),
('p5','c6','t4',500)
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 12
SOLUCION A LOS EJERCICIOS 1-14
1. Obtener todos los detalles de todos los artículos de CACERES.
Como podemos ver, lo que hacemos para obtener todos los detalles de los artículos
pertenecientes a cáceres, hacemos un select con un asterísco (*) ya que en lugar de campos
listaremos todas las columnas de la tabla, en este caso seleccionamos con from la tabla que
deseamos consultar, en este caso (Articulos) y como condicion con un where indicamos que
todos los artículos que pertenezcan a (CACERES).
SELECT *
FROM Articulos
WHERE ciudad=’caceres’
2. Obtener todos los valores de P# para los proveedores que abastecen el articulo Tl.
Ahora en este ejemplo vemos que lo que hacemos es obtener los valores de p# para esto
hacemos un select sobre este desde la tabla a la que pertenece ENVIOS donde t# es uno,
para asi obtener los proveedores que estan relacionados con el artículo T1.
SELECT P#
FROM ENVIOS
WHERE T#= ‘T1’
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 13
3. Obtener la lista de pares de atributos {COLOR, CIUDAD) de la tabla componentes
eliminando los pares duplicados.
En este tercer ejercicio lo que estamos haciendo es utilizar la funcion DISTINCT de color y
ciudad ,la cual realiza una selección de filas cuyos valores en la columna especificada no
están duplicados sobre componentes.
SELECT DISTINCT COLOR, CIUDAD
FROM COMPONENTES
4. Obtener de la tabla de artículos los valores de T# y CIUDAD donde el nombre de la
ciudad acaba en D o contiene al menos una E.
Hacemos un selecet de T# y ciudad desde artículos donde el nombre de la ciudad acabe en D
o contiene al menos una de, esto lo hacemos con el operador LIKE, como podemos ver en el
código.
SELECT T#, CIUDAD
FROM ARTICULOS
WHERE CIUDAD LIKE '%D'
OR CIUDAD LIKE '%E%'
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 14
5. Obtener los valores de P# para los proveedores que suministran para el artículo T1
el componente Cl.
Obtenemos los valores de P# mediante un select desde la tabla envios cuando se cumple la
condicion que le indicamos mediante el wher que son cuando suministran el artículo T1 y el
componente C1.
SELECT P#
FROM ENVIOS
WHERE T#=’T1’ AND C#=’C1’
6. Obtener los valores de TNOMBRE en orden alfabético para los artículos
abastecidos por el proveedor P1.
Hacemos un select sobre TNOMBRE para los artículos que son abastecidos por el proveedor
P1 para ello tendremos que hacer el INNER JOIN correspondiente entre las tablas artículos y
envios.
SELECT TNOMBRE
FROM ARTICULOS INNER JOIN ENVIOS
ON ENVIOS.P#='P1' AND ENVIOS.T#=ARTICULOS.T#
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 15
7. Obtener los valores de C# para los componentes suministrados para cualquier
articulo de MADRID.
Aqui lo que hacemos es obtener los valores de C#, es decir de los componentes
suministrados para cualquier artículo de madrid para ello utilizamos la funcion distinct
evitando así valores duplicados y hacemos un inner join entre la tabla articulos y envios para
ello hacemos despues la comparacion correspondiente entre el valor que se va a comparar
“articulos” y metemos la concicion de que estos articulos tengan como valor dentro del
campo ciudad “Madrid”
SELECT DISTINCT ENVIOS.C#
FROM ARTICULOS INNER JOIN ENVIOS
ON ARTICULOS.T#=ENVIOS.T#
WHERE ARTICULOS.CIUDAD='MADRID'
8. Obtener todos los valores de C# de los componentes tales que ningún otro
componente tenga un valor de peso inferior.
Con este selec obtenemos el valor de c# para el componente o componentes con el minimo
valor en peso, que es lo que le indicamosen la condición, lo unico digamos a destacar esque
esta condicion esta formada por un select.
SELECT c#
FROM componentes
WHERE peso = (SELECT MIN(peso)
FROM componentes );
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 16
9. Obtener los valores de P# para los proveedores que suministren los artículos T1 y
T2.
Hacemos una primera consulta simple que nos de los valores de P# para los proveedores que
suministran los artículos cuyo valor para T# es T1 y otra consulta igual pero donde el valor de
T# sea T2 después unimos las dos utilizando el operador INTERSECT para devolver todas las
filas comunes a estas dos consultas.
SELECT ENVIOS.P#
FROM ENVIOS
WHERE T#='T1'
INTERSECT
SELECT ENVIOS.P#
FROM ENVIOS
WHERE T#='T2'
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 17
10. Obtener los valores de P# para los proveedores que suministran para un artículo
de SEVILLA o MADRID un componente ROJO.
Hacemos un select de p# evitando los valores duplicados desde envíos y componentes
poniendo la igualdad comparativa sobre los componentes, hacemos un “JOIN” de nuevo
poniendo la comparación correspondiente en los artículos sobre la tabla envíos y artículos y
después ponemos las condiciones que se nos pide donde los componentes sean para Sevilla
o Madrid y que el color sea rojo.
SELECT DISTINCT ENVIOS.P#
FROM (ENVIOS JOIN COMPONENTES
ON ENVIOS.C#=COMPONENTES.C#)
JOIN ARTICULOS
ON ENVIOS.T#=ARTICULOS.T#
WHERE (ARTICULOS.CIUDAD='SEVILLA' OR ARTICULOS.CIUDAD='MADRID') AND
(COMPONENTES.COLOR='ROJO')
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 18
11. Obtener mediante subconsultas los valores de C# para los componentes
suministrados para algún artículo de SEVILLA por un proveedor de SEVILLA.
Como vemos es un ejercicio parecido al anterior, obtenemos los valores de C# evitando
duplicaciones desde envíos donde t# es decir el articulo provenga de sevilla y donde p# a su
vez también pertenezca a Sevilla
SELECT DISTINCT C#
FROM ENVIOS
WHERE T# IN( SELECT T#
FROM ARTICULOS
WHERE CIUDAD='SEVILLA')
AND P# IN ( SELECT P#
FROM PROVEEDORES
WHERE CIUDAD='SEVILLA')
12. Obtener los valores para los artículos que usan al menos un componente que se
puede obtener con el proveedor P1.
Hacemos un select sobre los artículos desde envíos donde la clave de algún componente de
estos artículos se encuentre en los componentes suministrados desde envíos por “P1”.
SELECT DISTINCT T#
FROM ENVIOS
WHERE C# IN( SELECT DISTINCT C#
FROM ENVIOS
WHERE P#='P1')
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 19
13. Obtener todas las ternas (CIUDAD, C#, CIUDAD) tales que un proveedor de la
primera ciudad suministre el componente especificado para un artículo montado en
la segunda ciudad.
Como vemos recuperamos los valores que se nos indican mediante un select, esto lo
hacemos desde envíos proveedores y artículos y en la condición indicamos que un proveedor
de la primera ciudad suministre el componente especificado para un artículo montado en la
segunda ciudad.
SELECT P.Ciudad ,E.C#, A.Ciudad
FROM Envios E, Proveedores P, Articulos A
WHERE E.P#=P.P# AND E.T#=A.T#;
[EJERCICIOS SQL 1-14]
PRIMERO DE ASIR Página 20
14. Repetir el ejercicio anterior pero sin recuperar las ternas en los que los dos
valores de ciudad sean los mismos.
Como vemos el ejercicio es el mismo que el anterior, solo que ahora solo se muestra el
resultado cuando se cumple la nueva regla dentro de la condición WHERE, que es la que
hemos introducido y que evita que los dos valores de ciudad sean los mismos, como
indicamos.
SELECT P.Ciudad, C#, A.Ciudad
FROM Envios E, Proveedores P , Articulos A
WHERE E.P#=P.P# AND E.T#=A.T# AND P.Ciudad <> A.Ciudad

Mais conteúdo relacionado

Mais procurados

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Ejercicios de XSD
Ejercicios de XSDEjercicios de XSD
Ejercicios de XSDAbrirllave
 
introdution to SQL and SQL functions
introdution to SQL and SQL functionsintrodution to SQL and SQL functions
introdution to SQL and SQL functionsfarwa waqar
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 
JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2Juan Astudillo
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasMoposita1994
 
Controles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy CitaControles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy CitaRokr02
 
COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPdisenarUniminuto
 

Mais procurados (20)

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Dashboard cde pentaho
Dashboard cde pentahoDashboard cde pentaho
Dashboard cde pentaho
 
Ejercicios de XSD
Ejercicios de XSDEjercicios de XSD
Ejercicios de XSD
 
introdution to SQL and SQL functions
introdution to SQL and SQL functionsintrodution to SQL and SQL functions
introdution to SQL and SQL functions
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Comandos básicos mysql
Comandos básicos mysqlComandos básicos mysql
Comandos básicos mysql
 
1 z0 047
1 z0 0471 z0 047
1 z0 047
 
JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Sql commands
Sql commandsSql commands
Sql commands
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
 
8. sql
8. sql8. sql
8. sql
 
Database concepts
Database conceptsDatabase concepts
Database concepts
 
Controles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy CitaControles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy Cita
 
COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPP
 
Sql ejercicios resueltos
Sql ejercicios resueltosSql ejercicios resueltos
Sql ejercicios resueltos
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 

Semelhante a Ejercicios-sql-1-14

Excel: Función Buscarv
Excel: Función BuscarvExcel: Función Buscarv
Excel: Función BuscarvMafer Alverca
 
Dario malla presentacion buscar v
Dario malla presentacion buscar vDario malla presentacion buscar v
Dario malla presentacion buscar vDario Malla
 
Tutorial calc open office fórmulas - funciones - gráficos - 1° año
Tutorial calc open office   fórmulas - funciones - gráficos - 1° añoTutorial calc open office   fórmulas - funciones - gráficos - 1° año
Tutorial calc open office fórmulas - funciones - gráficos - 1° añoimeseata
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosAndreitap de Granda
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Jomar Burgos Palacios
 
Funciones mas utilizadas de excel
Funciones mas utilizadas de excelFunciones mas utilizadas de excel
Funciones mas utilizadas de excelLisseth Amay
 
Lenguaje De ProgramacióN Basic
Lenguaje De ProgramacióN BasicLenguaje De ProgramacióN Basic
Lenguaje De ProgramacióN BasicRokr02
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Jeremy Butler
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005pabloesp
 
Ordenar los datos de una lista alfabéticamente
Ordenar los datos de una lista alfabéticamenteOrdenar los datos de una lista alfabéticamente
Ordenar los datos de una lista alfabéticamenteGrupo789
 
SQL-DDL
SQL-DDLSQL-DDL
SQL-DDLbdatos
 

Semelhante a Ejercicios-sql-1-14 (20)

Excel: Función Buscarv
Excel: Función BuscarvExcel: Función Buscarv
Excel: Función Buscarv
 
Dario malla presentacion buscar v
Dario malla presentacion buscar vDario malla presentacion buscar v
Dario malla presentacion buscar v
 
Funciones de excel
Funciones de excelFunciones de excel
Funciones de excel
 
Tutorial calc open office fórmulas - funciones - gráficos - 1° año
Tutorial calc open office   fórmulas - funciones - gráficos - 1° añoTutorial calc open office   fórmulas - funciones - gráficos - 1° año
Tutorial calc open office fórmulas - funciones - gráficos - 1° año
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015
 
Funciones Principales de Excel
Funciones Principales de ExcelFunciones Principales de Excel
Funciones Principales de Excel
 
Funciones mas utilizadas de excel
Funciones mas utilizadas de excelFunciones mas utilizadas de excel
Funciones mas utilizadas de excel
 
Lenguaje De ProgramacióN Basic
Lenguaje De ProgramacióN BasicLenguaje De ProgramacióN Basic
Lenguaje De ProgramacióN Basic
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2
 
Función buscav
Función buscavFunción buscav
Función buscav
 
Repaso excel nivel medio
Repaso excel nivel medioRepaso excel nivel medio
Repaso excel nivel medio
 
Exposicion iac
Exposicion iacExposicion iac
Exposicion iac
 
Ejercicios de vectores o arrays
Ejercicios de vectores o arraysEjercicios de vectores o arrays
Ejercicios de vectores o arrays
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Ordenar los datos de una lista alfabéticamente
Ordenar los datos de una lista alfabéticamenteOrdenar los datos de una lista alfabéticamente
Ordenar los datos de una lista alfabéticamente
 
SQL-DDL
SQL-DDLSQL-DDL
SQL-DDL
 
Curso de Macros Excel
Curso de Macros ExcelCurso de Macros Excel
Curso de Macros Excel
 
Excel 2010 - Teoria
Excel 2010 - TeoriaExcel 2010 - Teoria
Excel 2010 - Teoria
 

Mais de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Mais de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docxCarlosEnriqueArgoteC
 
EL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradoEL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradomartanuez15
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfANEP - DETP
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfAni Ann
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdfDemetrio Ccesa Rayme
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...Chema R.
 
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptxnelsontobontrujillo
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Pere Miquel Rosselló Espases
 
Síndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuaniSíndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuanishflorezg
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesChema R.
 
EVALUACION del tercer trimestre 2024 nap.docx
EVALUACION  del tercer trimestre 2024 nap.docxEVALUACION  del tercer trimestre 2024 nap.docx
EVALUACION del tercer trimestre 2024 nap.docxuniversidad Indoamerica
 
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxHidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxNathaly122089
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024sergeycrastz06
 
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...Reneeavia
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdfDemetrio Ccesa Rayme
 
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxPATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxSusanaAlejandraMende
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Último (20)

2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx
 
EL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradoEL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 grado
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
 
Síndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuaniSíndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuani
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
Power Point : Motivados por la esperanza
Power Point : Motivados por la esperanzaPower Point : Motivados por la esperanza
Power Point : Motivados por la esperanza
 
EVALUACION del tercer trimestre 2024 nap.docx
EVALUACION  del tercer trimestre 2024 nap.docxEVALUACION  del tercer trimestre 2024 nap.docx
EVALUACION del tercer trimestre 2024 nap.docx
 
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxHidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024
 
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
 
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxPATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 

Ejercicios-sql-1-14

  • 1. EJERCICIOS SQL 1-14 Javier García Cambronel PRIMERO DE ASIR
  • 2. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 1 CREAMOS LA BASE DE DATOS CREAMOS LAS TABLAS TENIENDO EN CUENTA LA INTEGRIDAD REFERENCIAL APRENDEMOS A INSERTAR LOS DATOS DE DIFERENTES FORMAS SIGUIENDO ESTOS PASOS SOLUCION A LOS EJERCICIOS 1-14
  • 3. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 2 CREAR UNA BASE DE DATOS CON LAS SIGUIENTES CARACTERÍSTICAS
  • 4. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 3 CREAMOS LA BASE DE DATOS Pulsamos el botón derecho sobre bases de datos y seleccionamos “nueva base de datos” Lo siguiente que tenemos que hacer es poner el nombre que queramos a la base de datos y pulsamos en aceptar.
  • 5. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 4 Una vez hecho esto ya tenemos la base de datos creada, con el nombre que le hemos puesto. Para empezar a utilizarla lo único que tendríamos que hacer seria pulsar en “nueva consulta” y escribir use seguido del nombre de la base de datos, en este caso como vemos use SQL una vez escrito esto ejecutaríamos la consulta y ya empezaríamos a utilizar la base de datos.
  • 6. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 5 CREAMOS LAS TABLAS TENIENDO EN CUENTA LA INTEGRIDAD REFERENCIAL TABLA PROVEEDORES CREATE TABLE Proveedores (P# CHAR(3), PNombre VARCHAR(20), Categoria INT, Ciudad VARCHAR(30), CONSTRAINT P#_pk PRIMARY KEY(P#)) TABLA COMPONENTES CREATE TABLE Componentes (C# CHAR(3), CNombre VARCHAR(20), Color CHAR(10), Peso INT, Ciudad VARCHAR(30), CONSTRAINT C#_pk PRIMARY KEY(C#))
  • 7. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 6 TABLA ARTICULOS CREATE TABLE Articulos (T# CHAR(3), TNombre VARCHAR(20), Ciudad VARCHAR(30), CONSTRAINT T#_pk PRIMARY KEY(T#)) TABLA ENVIOS CREATE TABLE Envios (P# CHAR(3) CONSTRAINT P# REFERENCES Proveedores(P#), C# CHAR(3) CONSTRAINT C# REFERENCES Componentes(C#), T# CHAR(3) CONSTRAINT T# REFERENCES Articulos(T#), Cantidad INT)
  • 8. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 7 APRENDEMOS A INSERTAR LOS DATOS DE DIFERENTES FORMAS SIGUIENDO ESTOS PASOS Lo primero que tenemos que hacer una vez hemos creado las tablas con sus respectivas claves es introducir los datos que se nos dan, para ello ejecutamos las siguientes instrucciones. INSERTAMOS LOS DATOS DE LA TABLA COMPONENTES Primero lo hacemos con componentes, siguiendo los valores que se nos han dado en las tablas del enunciado, para hacer esto, podemos insertar los valores uno por uno. Como en el siguiente caso, esta es una forma de insertar los valores en la fila de una tabla, lo primero que hacemos es utilizar el comando insert into con la opción de valores para ello escribimos después de insert into el nombre concreto de la tabla donde vamos a insertar dichos valores, en la línea siguiente escribiremos values seguido de los valores que se van a insertar en las columnas en el orden correcto, “también hay que tener en cuenta que los datos de caracteres se introducen con comillas alrededor, pero no así los datos numéricos” una vez hecho esto nos quedaría una consulta, como la que vemos a continuación y tendríamos que pulsar en el botón ejecutar nos aparecerá un mensaje que nos indicara el número de filas afectadas. insert into componentes values ('c1','x3a','rojo',12,'sevilla') COMO INSERTAR VARIOS REGISTROS A LA VEZ Para hacer esto, seguimos el mismo procedimiento que el anterior, pero tenemos que tener en cuenta un par de cosas, la palabra values, solo debemos escribirla una vez, y entre instrucciones, deben ir separadas mediante una coma como podemos ver a continuación: insert into componentes values ('c2','b85','verde',17,'madrid'), ('c3','c4b','azul',17,'malaga'), ('c4','c4b','rojo',14,'sevilla'), ('c5','vt8','azul',12,'madrid'), ('c6','c30','rojo',19,'sevilla')
  • 9. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 8 INSERTAMOS LOS DATOS DE LA TABLA PROVEEDORES Hacemos lo mismo insertando los datos, en la tabla proveedores, ejecutando la siguiente sentencia: insert into proveedores values ('p1','carlos',20,'sevilla'), ('p2','juan',10,'madrid'), ('p3','jose',30,'sevilla'), ('p4','inma',20,'sevilla'), ('p5','eva',30,'caceres') INSERTAMOS LOS DATOS DE LA TABLA ARTICULOS Volvemos a hacer lo mismo, pero ahora introduciendo los valores para artículos insert into articulos values ('t1','clasificadora','madrid'), ('t2','perforadora','malaga'), ('t3','lectora','caceres'), ('t4','consola','caceres'), ('t5','mezcladora','sevilla'), ('t6','terminal','barcelona'), ('t7','cinta','sevilla') ¿Qué pasa cuando no se incluyen todos los valores para las columnas? insert into articulos values ('t1','clasificadora')
  • 10. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 9 Solución al problema anterior, para insertar una fila con menos de todas las columnas, se tienen que especificar los nombres de las columnas. insert into articulos (t#,tnombre) values ('t1','clasificadora') En este caso la fila que hemos introducido, contendrá valores NULL o valores predeterminados como podemos ver en la siguiente imagen.
  • 11. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 10 ¿Qué pasa cuando el orden de los valores es incorrecto? insert into articulos values ('clasificadora','madrid','t1') Solución al problema anterior, para que esto no se produzca, si tenemos desordenados los datos de las tablas, tendríamos que especificar especificando el orden de los nombres de las columnas como vemos a continuación. insert into articulos (tnombre,ciudad,t#) values ('perforadora','malaga','t2')
  • 12. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 11 INSERTAMOS LOS DATOS DE LA TABLA ENVIOS Ahora volveremos a hacer lo mismo, con la tabla que nos falta, que seria la tabla de envíos, para esta operación ejecutaríamos la siguiente instrucción insert into envios values ('p1','c1','t1',200), ('p1','c1','t4',700), ('p2','c3','t1',400), ('p2','c3','t2',200), ('p2','c3','t3',200), ('p2','c3','t4',500), ('p2','c3','t5',600), ('p2','c3','t6',400), ('p2','c3','t7',800), ('p2','c5','t2',100), ('p3','c3','t1',200), ('p3','c4','t2',500), ('p4','c6','t3',300), ('p4','c6','t7',300), ('p5','c2','t2',200), ('p5','c2','t4',100), ('p5','c5','t4',500), ('p5','c5','t7',100), ('p5','c6','t2',200), ('p5','c1','t4',100), ('p5','c3','t4',200), ('p5','c4','t4',800), ('p5','c5','t5',400), ('p5','c6','t4',500)
  • 13. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 12 SOLUCION A LOS EJERCICIOS 1-14 1. Obtener todos los detalles de todos los artículos de CACERES. Como podemos ver, lo que hacemos para obtener todos los detalles de los artículos pertenecientes a cáceres, hacemos un select con un asterísco (*) ya que en lugar de campos listaremos todas las columnas de la tabla, en este caso seleccionamos con from la tabla que deseamos consultar, en este caso (Articulos) y como condicion con un where indicamos que todos los artículos que pertenezcan a (CACERES). SELECT * FROM Articulos WHERE ciudad=’caceres’ 2. Obtener todos los valores de P# para los proveedores que abastecen el articulo Tl. Ahora en este ejemplo vemos que lo que hacemos es obtener los valores de p# para esto hacemos un select sobre este desde la tabla a la que pertenece ENVIOS donde t# es uno, para asi obtener los proveedores que estan relacionados con el artículo T1. SELECT P# FROM ENVIOS WHERE T#= ‘T1’
  • 14. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 13 3. Obtener la lista de pares de atributos {COLOR, CIUDAD) de la tabla componentes eliminando los pares duplicados. En este tercer ejercicio lo que estamos haciendo es utilizar la funcion DISTINCT de color y ciudad ,la cual realiza una selección de filas cuyos valores en la columna especificada no están duplicados sobre componentes. SELECT DISTINCT COLOR, CIUDAD FROM COMPONENTES 4. Obtener de la tabla de artículos los valores de T# y CIUDAD donde el nombre de la ciudad acaba en D o contiene al menos una E. Hacemos un selecet de T# y ciudad desde artículos donde el nombre de la ciudad acabe en D o contiene al menos una de, esto lo hacemos con el operador LIKE, como podemos ver en el código. SELECT T#, CIUDAD FROM ARTICULOS WHERE CIUDAD LIKE '%D' OR CIUDAD LIKE '%E%'
  • 15. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 14 5. Obtener los valores de P# para los proveedores que suministran para el artículo T1 el componente Cl. Obtenemos los valores de P# mediante un select desde la tabla envios cuando se cumple la condicion que le indicamos mediante el wher que son cuando suministran el artículo T1 y el componente C1. SELECT P# FROM ENVIOS WHERE T#=’T1’ AND C#=’C1’ 6. Obtener los valores de TNOMBRE en orden alfabético para los artículos abastecidos por el proveedor P1. Hacemos un select sobre TNOMBRE para los artículos que son abastecidos por el proveedor P1 para ello tendremos que hacer el INNER JOIN correspondiente entre las tablas artículos y envios. SELECT TNOMBRE FROM ARTICULOS INNER JOIN ENVIOS ON ENVIOS.P#='P1' AND ENVIOS.T#=ARTICULOS.T#
  • 16. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 15 7. Obtener los valores de C# para los componentes suministrados para cualquier articulo de MADRID. Aqui lo que hacemos es obtener los valores de C#, es decir de los componentes suministrados para cualquier artículo de madrid para ello utilizamos la funcion distinct evitando así valores duplicados y hacemos un inner join entre la tabla articulos y envios para ello hacemos despues la comparacion correspondiente entre el valor que se va a comparar “articulos” y metemos la concicion de que estos articulos tengan como valor dentro del campo ciudad “Madrid” SELECT DISTINCT ENVIOS.C# FROM ARTICULOS INNER JOIN ENVIOS ON ARTICULOS.T#=ENVIOS.T# WHERE ARTICULOS.CIUDAD='MADRID' 8. Obtener todos los valores de C# de los componentes tales que ningún otro componente tenga un valor de peso inferior. Con este selec obtenemos el valor de c# para el componente o componentes con el minimo valor en peso, que es lo que le indicamosen la condición, lo unico digamos a destacar esque esta condicion esta formada por un select. SELECT c# FROM componentes WHERE peso = (SELECT MIN(peso) FROM componentes );
  • 17. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 16 9. Obtener los valores de P# para los proveedores que suministren los artículos T1 y T2. Hacemos una primera consulta simple que nos de los valores de P# para los proveedores que suministran los artículos cuyo valor para T# es T1 y otra consulta igual pero donde el valor de T# sea T2 después unimos las dos utilizando el operador INTERSECT para devolver todas las filas comunes a estas dos consultas. SELECT ENVIOS.P# FROM ENVIOS WHERE T#='T1' INTERSECT SELECT ENVIOS.P# FROM ENVIOS WHERE T#='T2'
  • 18. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 17 10. Obtener los valores de P# para los proveedores que suministran para un artículo de SEVILLA o MADRID un componente ROJO. Hacemos un select de p# evitando los valores duplicados desde envíos y componentes poniendo la igualdad comparativa sobre los componentes, hacemos un “JOIN” de nuevo poniendo la comparación correspondiente en los artículos sobre la tabla envíos y artículos y después ponemos las condiciones que se nos pide donde los componentes sean para Sevilla o Madrid y que el color sea rojo. SELECT DISTINCT ENVIOS.P# FROM (ENVIOS JOIN COMPONENTES ON ENVIOS.C#=COMPONENTES.C#) JOIN ARTICULOS ON ENVIOS.T#=ARTICULOS.T# WHERE (ARTICULOS.CIUDAD='SEVILLA' OR ARTICULOS.CIUDAD='MADRID') AND (COMPONENTES.COLOR='ROJO')
  • 19. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 18 11. Obtener mediante subconsultas los valores de C# para los componentes suministrados para algún artículo de SEVILLA por un proveedor de SEVILLA. Como vemos es un ejercicio parecido al anterior, obtenemos los valores de C# evitando duplicaciones desde envíos donde t# es decir el articulo provenga de sevilla y donde p# a su vez también pertenezca a Sevilla SELECT DISTINCT C# FROM ENVIOS WHERE T# IN( SELECT T# FROM ARTICULOS WHERE CIUDAD='SEVILLA') AND P# IN ( SELECT P# FROM PROVEEDORES WHERE CIUDAD='SEVILLA') 12. Obtener los valores para los artículos que usan al menos un componente que se puede obtener con el proveedor P1. Hacemos un select sobre los artículos desde envíos donde la clave de algún componente de estos artículos se encuentre en los componentes suministrados desde envíos por “P1”. SELECT DISTINCT T# FROM ENVIOS WHERE C# IN( SELECT DISTINCT C# FROM ENVIOS WHERE P#='P1')
  • 20. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 19 13. Obtener todas las ternas (CIUDAD, C#, CIUDAD) tales que un proveedor de la primera ciudad suministre el componente especificado para un artículo montado en la segunda ciudad. Como vemos recuperamos los valores que se nos indican mediante un select, esto lo hacemos desde envíos proveedores y artículos y en la condición indicamos que un proveedor de la primera ciudad suministre el componente especificado para un artículo montado en la segunda ciudad. SELECT P.Ciudad ,E.C#, A.Ciudad FROM Envios E, Proveedores P, Articulos A WHERE E.P#=P.P# AND E.T#=A.T#;
  • 21. [EJERCICIOS SQL 1-14] PRIMERO DE ASIR Página 20 14. Repetir el ejercicio anterior pero sin recuperar las ternas en los que los dos valores de ciudad sean los mismos. Como vemos el ejercicio es el mismo que el anterior, solo que ahora solo se muestra el resultado cuando se cumple la nueva regla dentro de la condición WHERE, que es la que hemos introducido y que evita que los dos valores de ciudad sean los mismos, como indicamos. SELECT P.Ciudad, C#, A.Ciudad FROM Envios E, Proveedores P , Articulos A WHERE E.P#=P.P# AND E.T#=A.T# AND P.Ciudad <> A.Ciudad