Está en la página 1de 8

Ejercicios sencillos de SQL

1. -Crea una tabla llamada Canciones que tenga como campos: número de
pista, título, autor y duración.

CREATE TABLE canciones (


Id_cancion int primary key auto_increment,
numero_de_pista int,
titulo varchar (80),
autor varchar(60),
duración time,
);

-Introduce con INSERT las canciones del disco donde apareció tu canción
favorita por primera vez cuando fue publicada.

INSERT INTO canciones(id_cancion,numero_de_pista,título,autor


duración)VALUES(
1,1,’el_zapato_amarillo’.’maricarmen’,’03:27’);

INSERT INTO canciones(id_cancion,numero_de_pista,título,autor


duración)VALUES(
2,2,’el_zueco_rojo’.’merche’,’04:27’);

INSERT INTO canciones(id_cancion,numero_de_pista,título,autor


duración)VALUES(
3,3,’el_barco_azul’.’ramon’,’02:27’);

INSERT INTO canciones(id_cancion,numero_de_pista,título,autor


duración)VALUES(
4,4,’el_tranvia’.’abuelete’,’04:27’);

INSERT INTO canciones(id_cancion,numero_de_pista,título,autor


duración)VALUES(
5,5,’el_avion_blanco’.’merche’,’06:27’);

2. Consigue una lista con la instrucción SELECT que tenga aquellas canciones
que duren más de 3 minutos.
SELECT * FROM canciones WHERE duracion > ’03:00’;

3. -Crea una tabla llamada Libros que tenga como campos: título, autor,
numero de paginas y año.

CREATE TABLE libros (


Id_libro int primary key,auto increment,
Titulo varchar(30),
Autor varchar(60),
Numero_ de_paginas int,
anio int
);

-Introduce con INSERT unos 5 libros del autor de tu libro favorito.

INSERT INTO libros


VALUES (1,’tu_madre’,’gromenaguer’,150,1990);

INSERT INTO libros


VALUES (2,’dinosaurio’,’gromenaguer’,250,1993);

INSERT INTO libros


VALUES (3,’gorila_loco’,’gromenaguer’,350,1996);

INSERT INTO libros


VALUES (4,’paella’,’gromenaguer’,150,1999);

INSERT INTO libros


VALUES (5,’cochecito’,’gromenaguer’,250,2002);

4. Consigue una lista con la instrucción SELECT que tenga aquellos libros con
más de 200 páginas.

SELECT * FROM libros WHERE numero_de_paginas > 200;


5. Consigue una lista con la instrucción SELECT que tenga aquellos libros
posteriores al año 2000

SELECT * FROM libros WHERE anio > 2000;

6. Consigue una lista con la instrucción SELECT que tenga aquellos libros que
tengan una ‘c’ en el título.

SELECT * FROM libros WHERE titulo LIKE ‘%c%’;

7. Imagina un antiguo videoclub. ¿Qué tablas y campos crees que serían


importantes crear para su base de datos? Créalas.

8. -Crea una tabla llamada Restaurantes que tenga como campos: Nombre,
Tipo de comida, Tiene Terraza, Aforo y calificacion.
-Introduce con INSERT algunos restaurantes que conozcas.

create table restaurantes(nombre varchar(20), tipo_comida


varchar(20),terraza bool,aforo int,calificacion int);

insert into restaurantes(nombre,tipo_comida,terraza,aforo,calificacion)values


('el_ojete_moreno','mexicana',true,'69','3'),
('la_batcueva','americana',false,'50','7'),
('pizzeria_luigi','italiana',true,'30','6'),
('palacio-obi-wan','china',true,'80','9'),
('tommy-mells','americana',false,'100','7');

9. Consigue una lista con la instrucción SELECT que devuelva aquellos


restaurantes que tengan un aforo menor que 70

select * from restaurantes where aforo<70;

10. Consigue una lista con la instrucción SELECT que devuelva aquellos
restaurantes que tengan terraza.

select * from restaurantes where terraza=true

11. Consigue una lista con la instrucción SELECT que devuelva aquellos
restaurantes que tengan terraza y a la vez un aforo menor que 70.

select * from restaurantes where aforo<70 and terraza=true


12. -Crea una tabla llamada Playas que tenga como campos: Nombre, Costa,
Aforo y Esta_Abierta
-Introduce con INSERT algunas playas que conozcas.

create table playas(nombre varchar(20),costa varchar(20),aforo int,


esta_abierta bool);

insert into playas (nombre,costa,aforo,esta_abierta) values


('la_concha','norte','2000',true),
('costa_dorada','este','5000',true),
('puente_romano','sur','1000',false),
('centollo','este','6000',false),
('maricarmen','sur','7500',true);

13. Modifica con UPDATE y cambia el Aforo de una playa.

update playas set aforo=8000 where nombre like 'maricarmen';

14. Modifica con UPDATE y cambia el campo Esta_Abierta a false aquellas


playas cuyo aforo sea mayor que 5000.

update playas set esta_abierta=false where aforo<'5000';

15. Borra con DELETE las playas cuyo nombre contenga una ‘a’

delete from playas where nombre like'%a%';

16. -Crea una tabla llamada Ovejas que tenga como campos: Nombre,
ColorDeLana, FechaEsquilar, Sana.
-Introduce con INSERT unas 5 o 10 ovejas en la tabla con diferentes colores
de lana, fecha para esquilar y si están sanas o no .
create table ovejas (nombre varchar(20), color_lana varchar(20),
fecha_esquilado date, sana bool);

insert into ovejas(nombre,color_lana,fecha_esquilado,sana)values


('maricarmen','blanca','2016-7-12',true),
('daniela','negra','2016-8-21',false),
('rosita','rosa','2015-4-3',true),
('bombon','marron','2014-3-19',false),
('pichon','blanca','2017-11-20',true);

17. Muestra con SELECT aquellas ovejas que no estén sanas.


select* from ovejas where sana=false;
18. Muestra con SELECT aquellas ovejas sanas y con lana de color ‘Blanco’

select*from ovejas where sana=true and color_lana like 'blanc%';

19. Elimina con DELETE aquellas ovejas que no estén sanas.

delete from ovejas where sana=false;

20. Selecciona en la Base de Datos world que viene de ejemplo en el MySQL


Workbench en la tabla city aquellas ciudades que tengan como valor de
campo CountryCode = ‘ESP’

select *from city where CountryCode like 'ESP';

21. Selecciona en la Base de Datos world que viene de ejemplo en el MySQL


Workbench en la tabla city aquellas ciudades que tengan como valor de
campo CountryCode = ‘ESP’ y cuyo nombre contenga una ‘m’

select *from city where CountryCode like 'ESP' and Name like'%m%';

22. Selecciona en la Base de Datos sakila que viene de ejemplo en el MySQL


Workbench en la tabla film aquellas peliculas que duren más de 100
minutos (campo length) y cuya clasificación por edades (campo rating) sea
NC-17

select*from film where length>100 and rating like 'nc-17';


DEDUCIR SQL DE TABLAS YA HECHAS
1. Dada la siguiente tabla. Realiza un fichero .sql que la cree y rellene de tal
manera que se muestre como tal al hacer un SELECT

Drop table if exists empleados;

create table empleados (departamento varchar(20),


responsable varchar(20),
miembros int,
nomina decimal(7,2));

insert into empleados(departamento,responsable,miembros,nomina)


values('compras','juan_marin','8','1500'),
('ventas','maria_perez','10','1650'),
('publicidad','oscar_ruiz','7','1750'),
('calidad','carolina_tinao','6','1900'),
('tecnologias','paula_terroba','7','2350');

Select departamento,responsable,miembros, concat(nomina, '€') as nomina from


empleados
2. Dada la siguiente tabla. Realiza un fichero .sql que la cree y rellene de tal
manera que se muestre como tal al hacer un SELECT

drop table if exists personal;

create table personal (rubro varchar(40),


personal_masculino decimal(3,1),
personal_femenino decimal(3,1),
total decimal(4,1));

insert into personal(rubro,personal_masculino,personal_femenino,total)


values('Alojamiento','40.7','59.3','100.0'),
('Alimentos_y_bebidas','33.5','66.5','100.0'),
('Tour_operadoras_y_Agencias_de _viajes','44.6','55.4','100.0'),
('Arrendadoras_de_vehiculos','70.9','29.1','100.0'),
('Tiendas_de_artesania','35.6','64.6','100.0'),
('Transporte_interurbano','93.5','6.5','100.0'),
('Centros_DE_recreacion','65.3','34.7','100.0'),
('Museos_y_Galerias','60.1','39.9','100.0'),
('Centros_de_Buceos','77.7','22.3','100.0');

select rubro,
concat(personal_masculino,'%') as personal_masculino,
concat(personal_femenino,'%') as personal_femenino,
concat(total,'%') as total from personal;
3. Dada la siguiente tabla. Realiza un fichero .sql que la cree y rellene de tal
manera que se muestre como tal al hacer un SELECT

Nota: No es necesario guardar la foto pero si tienes curiosidad investiga un


tipo de dato llamado BLOB

También podría gustarte