Está en la página 1de 11

create database Rama;

use Rama;

create table equipos(id_equipo int,


nombre_equipo varchar(20),
ciudad varchar(15),
web_oficial varchar(400),
primary key(id_equipo)) engine=innoDB;

alter table equipos add puntos int;

create table puesto(id_puesto int,


nombre_puesto varchar(8),
primary key(nombre_puesto)) engine=innoDB;

create table jugadores(id_jugador int,


nombre varchar(100),
apellido varchar(100),
puesto varchar(8),
id_capitan int,
fecha_alta date,
salario int,
num_equipo int,
primary key(id_jugador),
foreign key(puesto) references puesto(nombre_puesto),
foreign key(num_equipo) references equipos(id_equipo)) engine=innoDB;

alter table jugadores add foreign key(id_capitan) references jugadores(id_jugador);


alter table jugadores add altura double;

create table partido(elocal int,


evisitante int,
resultado varchar(100),
fecha date,
arbitro int,
primary key(elocal, evisitante, fecha),
foreign key(evisitante) references equipos(id_equipo)) engine=innoDB;

alter table partido add foreign key(elocal) references equipos(id_equipo);

insert into equipos values(1, 'Regal_Barcelona', 'Barcelona',


'http://www.fcbarcelona.com/web/index_idiomes.html', 10 );
insert into equipos values(2, 'Real_Madrid', 'Madrid',
'http://www.realmadrid.com/cs/Satellite/es/1193040472450/SubhomeEquipo/Baloncesto.h
tm', 9 );
insert into equipos values(3, 'P.E._Valencia', 'Valencia',
'http://www.valenciabasket.com/', 11 );
insert into equipos values(4, 'Caja_laboral', 'Vitoria',
'http://www.baskonia.com/prehomes/prehomes.asp?id_prehome=69', 22 );
insert into equipos values(5, 'Gran_Canaria', 'Las_Palmas',
'http://www.acb.com/club.php?id=CLA', 14 );
insert into equipos values(6, 'CAI_Zaragoza', 'Zaragoza',
'http://www.basketzaragoza.net/',23 );

insert into puesto values(1, 'Alero');


insert into puesto values(2, 'Pivot');
insert into puesto values(3, 'Base');
insert into puesto values(4, 'Escolta');
insert into jugadores values(1, 'Juan_Carlos', 'Navarro', 'Escolta', null,
'2010/01/10', 130000, 1, null);
insert into jugadores values(2, 'Felipe', 'Reyes', 'Pivot', null, '2009/02/20',
120000, 2, 2.04);
insert into jugadores values(3, 'Victor', 'Claver', 'Alero', null, '2009/03/08',
90000, 3, 2.08);
insert into jugadores values(4, 'Rafa', 'Martinez', 'Escolta', null, '2010/11/11',
51000, 3, 1.91);
insert into jugadores values(5, 'Fernando', 'San_Emeterio', 'Alero', null,
'2008/09/22', 60000, 4, 1.99);
insert into jugadores values(6, 'Mirza', 'Teletovic', 'Pivot', null, '2010/05/13',
70000, 4, 2.06);
insert into jugadores values(7, 'Sergio', 'Llull', 'Escolta', 2, '2011/10/29',
100000, 2, 1.90);
insert into jugadores values(8, 'Victor', 'Sada', 'Base', 1, '2012/01/01', 80000,
1, 1.92);
insert into jugadores values(9, 'Carlos', 'Suarez', 'Alero', 2, '2011/02/19',
60000, 2, 2.03);
insert into jugadores values(10, 'Xavi', 'Rey', 'Pivot', null, '2008/10/12', 95000,
5, 2.09);
insert into jugadores values(11, 'Carlos', 'Cabezas', 'Base', null, '2012/01/21',
105000, 6, 1.86);
insert into jugadores values(12, 'Pablo', 'Aguilar', 'Alero', null, '2011/06/14',
47000, 6, 2.03);
insert into jugadores values(13, 'Rafa', 'Hettsheimeir', 'Pivot', null,
'2008/04/15', 53000, 6, 2.08);
insert into jugadores values(14, 'Sithapa', 'Savané', 'Pivot', null, '2011/07/27',
60000, 5, 2.01);

update jugadores set id_capitan=1 where id_jugador=1;


update jugadores set id_capitan=2 where id_jugador=2;
update jugadores set id_capitan=3 where id_jugador=3;
update jugadores set id_capitan=4 where id_jugador=4;
update jugadores set id_capitan=6 where id_jugador=5;
update jugadores set id_capitan=6 where id_jugador=6;
update jugadores set id_capitan=14 where id_jugador=10;
update jugadores set id_capitan=13 where id_jugador=11;
update jugadores set id_capitan=13 where id_jugador=12;
update jugadores set id_capitan=13 where id_jugador=13;
update jugadores set id_capitan=14 where id_jugador=14;

insert into partido values(1, 2, '100-100', '2011/10/10', 4);


insert into partido values(2, 3, '90-91', '2011/11/17', 5);
insert into partido values(3, 4, '88-77', '2011/11/23', 6);
insert into partido values(1, 6, '66-78', '2011/11/30', 6);
insert into partido values(2, 4, '90-90', '2012/01/12', 7);
insert into partido values(4, 5, '79-83', '2012/01/19', 3);
insert into partido values(3, 6, '91-88', '2012/02/22', 3);
insert into partido values(5, 4, '90-66', '2012/04/27', 2);
insert into partido values(6, 5, '110-70', '2012/05/30', 1);

show tables
select*from equipos;
select*from puesto;
select*from jugadores;
select*from partido;
add
EJERCICIOS:
/* obtener los datos de todos los equipos*/
/*
mysql> select*from equipos;
+-----------+-----------------+------------
+----------------------------------------------------------------------------------
----+--------+
| id_equipo | nombre_equipo | ciudad | web_oficial
| puntos |
+-----------+-----------------+------------
+----------------------------------------------------------------------------------
----+--------+
| 1 | Regal_Barcelona | Barcelona |
http://www.fcbarcelona.com/web/index_idiomes.html
| 10 |
| 2 | Real_Madrid | Madrid |
http://www.realmadrid.com/cs/Satellite/es/1193040472450/SubhomeEquipo/Baloncesto.ht
m | 9 |
| 3 | P.E._Valencia | Valencia | http://www.valenciabasket.com/
| 11 |
| 4 | Caja_laboral | Vitoria |
http://www.baskonia.com/prehomes/prehomes.asp?id_prehome=69
| 22 |
| 5 | Gran_Canaria | Las_Palmas | http://www.acb.com/club.php?id=CLA
| 14 |
| 6 | CAI_Zaragoza | Zaragoza | http://www.basketzaragoza.net/
| 23 |
+-----------+-----------------+------------
+----------------------------------------------------------------------------------
----+--------+
6 rows in set (0,00 sec)
*/
/* obtener el nombre de todos los jugadores*/
/*
mysql> select nombre from jugadores;
+-------------+
| nombre |
+-------------+
| Juan_Carlos |
| Felipe |
| Victor |
| Rafa |
| Fernando |
| Mirza |
| Sergio |
| Victor |
| Carlos |
| Xavi |
| Carlos |
| Pablo |
| Rafa |
| Sithapa |
+-------------+
14 rows in set (0,00 sec)
*/
/* obtener el nombre de todos los jugadores y en la etiqueta ponga nombre del
jugador*/
/*
mysql> select nombre as 'nombre del jugador' from jugadores;
+--------------------+
| nombre del jugador |
+--------------------+
| Juan_Carlos |
| Felipe |
| Victor |
| Rafa |
| Fernando |
| Mirza |
| Sergio |
| Victor |
| Carlos |
| Xavi |
| Carlos |
| Pablo |
| Rafa |
| Sithapa |
+--------------------+
14 rows in set (0,00 sec)
*/
/* seleccionar los nombres,apellidos y posicion de todos los jugadores ordenados
por posicion*/
/*
mysql> select nombre, apellido, puesto from jugadores order by puesto;
+-------------+--------------+---------+
| nombre | apellido | puesto |
+-------------+--------------+---------+
| Victor | Claver | Alero |
| Fernando | San_Emeterio | Alero |
| Carlos | Suarez | Alero |
| Pablo | Aguilar | Alero |
| Victor | Sada | Base |
| Carlos | Cabezas | Base |
| Juan_Carlos | Navarro | Escolta |
| Rafa | Martinez | Escolta |
| Sergio | Llull | Escolta |
| Felipe | Reyes | Pivot |
| Mirza | Teletovic | Pivot |
| Xavi | Rey | Pivot |
| Rafa | Hettsheimeir | Pivot |
| Sithapa | Savané | Pivot |
+-------------+--------------+---------+
14 rows in set (0,00 sec)
*/
/* seleccionar el nombre,equipo y posicion de los jugadores ordenados por equipo y
posicion*/
/*
mysql> select nombre, num_equipo, puesto from jugadores order by num_equipo,
puesto;
+-------------+------------+---------+
| nombre | num_equipo | puesto |
+-------------+------------+---------+
| Victor | 1 | Base |
| Juan_Carlos | 1 | Escolta |
| Carlos | 2 | Alero |
| Sergio | 2 | Escolta |
| Felipe | 2 | Pivot |
| Victor | 3 | Alero |
| Rafa | 3 | Escolta |
| Fernando | 4 | Alero |
| Mirza | 4 | Pivot |
| Xavi | 5 | Pivot |
| Sithapa | 5 | Pivot |
| Pablo | 6 | Alero |
| Carlos | 6 | Base |
| Rafa | 6 | Pivot |
+-------------+------------+---------+
14 rows in set (0,00 sec)
*/
/* mostrar el nombre, equipo y posicion de los jugadores ordenados ascendentemente
por equipo y descendentemente por su posicion*/
/*
mysql> select nombre, num_equipo, puesto from jugadores order by num_equipo asc,
puesto desc;
+-------------+------------+---------+
| nombre | num_equipo | puesto |
+-------------+------------+---------+
| Juan_Carlos | 1 | Escolta |
| Victor | 1 | Base |
| Felipe | 2 | Pivot |
| Sergio | 2 | Escolta |
| Carlos | 2 | Alero |
| Rafa | 3 | Escolta |
| Victor | 3 | Alero |
| Mirza | 4 | Pivot |
| Fernando | 4 | Alero |
| Xavi | 5 | Pivot |
| Sithapa | 5 | Pivot |
| Rafa | 6 | Pivot |
| Carlos | 6 | Base |
| Pablo | 6 | Alero |
+-------------+------------+---------+
14 rows in set (0,00 sec)
*/
/* selecccionar los distintos equipos que existen en la tabla jugadores*/
/*
mysql> select distinct num_equipo from jugadores;
+------------+
| num_equipo |
+------------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+------------+
6 rows in set (0,00 sec)
*/
/* obtener los 5 primeros registros de la tabla jugadores (mirar instruccion limit)
*/
/*
mysql> select*from jugadores limit 5;
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
| id_jugador | nombre | apellido | puesto | id_capitan | fecha_alta |
salario | num_equipo | altura |
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
| 1 | Juan_Carlos | Navarro | Escolta | 1 | 2010-01-10 |
130000 | 1 | NULL |
| 2 | Felipe | Reyes | Pivot | 2 | 2009-02-20 |
120000 | 2 | 2.04 |
| 3 | Victor | Claver | Alero | 3 | 2009-03-08 |
90000 | 3 | 2.08 |
| 4 | Rafa | Martinez | Escolta | 4 | 2010-11-11 |
51000 | 3 | 1.91 |
| 5 | Fernando | San_Emeterio | Alero | 6 | 2008-09-22 |
60000 | 4 | 1.99 |
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
5 rows in set (0,00 sec)
*/
/* obtener los datos de los tres ultimos equipos clasificados*/
/*
mysql> select*from equipos order by puntos desc limit 3,5;
+-----------+-----------------+-----------
+----------------------------------------------------------------------------------
----+--------+
| id_equipo | nombre_equipo | ciudad | web_oficial
| puntos |
+-----------+-----------------+-----------
+----------------------------------------------------------------------------------
----+--------+
| 3 | P.E._Valencia | Valencia | http://www.valenciabasket.com/
| 11 |
| 1 | Regal_Barcelona | Barcelona |
http://www.fcbarcelona.com/web/index_idiomes.html
| 10 |
| 2 | Real_Madrid | Madrid |
http://www.realmadrid.com/cs/Satellite/es/1193040472450/SubhomeEquipo/Baloncesto.ht
m | 9 |
+-----------+-----------------+-----------
+----------------------------------------------------------------------------------
----+--------+
3 rows in set (0,00 sec)
*/
/* calcular el salario neto anual a percibir por cada jugador,suponiendo que el
irpf es de un 18%*/
/*
mysql> select nombre, salario as 'salario bruto', salario*0.82 as 'salario neto'
from jugadores;
+-------------+---------------+--------------+
| nombre | salario bruto | salario neto |
+-------------+---------------+--------------+
| Juan_Carlos | 130000 | 106600.00 |
| Felipe | 120000 | 98400.00 |
| Victor | 90000 | 73800.00 |
| Rafa | 51000 | 41820.00 |
| Fernando | 60000 | 49200.00 |
| Mirza | 70000 | 57400.00 |
| Sergio | 100000 | 82000.00 |
| Victor | 80000 | 65600.00 |
| Carlos | 60000 | 49200.00 |
| Xavi | 95000 | 77900.00 |
| Carlos | 105000 | 86100.00 |
| Pablo | 47000 | 38540.00 |
| Rafa | 53000 | 43460.00 |
| Sithapa | 60000 | 49200.00 |
+-------------+---------------+--------------+
14 rows in set (0,00 sec)
*/
/* obtener el nombre y apellido de cada jugador concatenados en un solo campo (usar
funcion concat)*/
/*
mysql> select concat(nombre,' ', apellido) as 'nombre completo' from jugadores;
+-----------------------+
| nombre completo |
+-----------------------+
| Juan_Carlos Navarro |
| Felipe Reyes |
| Victor Claver |
| Rafa Martinez |
| Fernando San_Emeterio |
| Mirza Teletovic |
| Sergio Llull |
| Victor Sada |
| Carlos Suarez |
| Xavi Rey |
| Carlos Cabezas |
| Pablo Aguilar |
| Rafa Hettsheimeir |
| Sithapa Savané |
+-----------------------+
14 rows in set (0,00 sec)
*/
/* seleccionar el nombre y apellido en una sola columna de aquellos jugadores que
sean pivot*/
/*
mysql> select concat(nombre,' ', apellido) as 'nombre completo pivot' from
jugadores where puesto='pivot';
+-----------------------+
| nombre completo pivot |
+-----------------------+
| Felipe Reyes |
| Mirza Teletovic |
| Xavi Rey |
| Rafa Hettsheimeir |
| Sithapa Savané |
+-----------------------+
5 rows in set (0,01 sec)
*/
/* seleccionar los datos de los jugadores que no pertenezcan al equipo 3*/
/*
mysql> select*from jugadores where num_equipo<>3;
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
| id_jugador | nombre | apellido | puesto | id_capitan | fecha_alta |
salario | num_equipo | altura |
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
| 1 | Juan_Carlos | Navarro | Escolta | 1 | 2010-01-10 |
130000 | 1 | NULL |
| 2 | Felipe | Reyes | Pivot | 2 | 2009-02-20 |
120000 | 2 | 2.04 |
| 5 | Fernando | San_Emeterio | Alero | 6 | 2008-09-22 |
60000 | 4 | 1.99 |
| 6 | Mirza | Teletovic | Pivot | 6 | 2010-05-13 |
70000 | 4 | 2.06 |
| 7 | Sergio | Llull | Escolta | 2 | 2011-10-29 |
100000 | 2 | 1.9 |
| 8 | Victor | Sada | Base | 1 | 2012-01-01 |
80000 | 1 | 1.92 |
| 9 | Carlos | Suarez | Alero | 2 | 2011-02-19 |
60000 | 2 | 2.03 |
| 10 | Xavi | Rey | Pivot | 14 | 2008-10-12 |
95000 | 5 | 2.09 |
| 11 | Carlos | Cabezas | Base | 13 | 2012-01-21 |
105000 | 6 | 1.86 |
| 12 | Pablo | Aguilar | Alero | 13 | 2011-06-14 |
47000 | 6 | 2.03 |
| 13 | Rafa | Hettsheimeir | Pivot | 13 | 2008-04-15 |
53000 | 6 | 2.08 |
| 14 | Sithapa | Savané | Pivot | 14 | 2011-07-27 |
60000 | 5 | 2.01 |
+------------+-------------+--------------+---------+------------+------------
+---------+------------+--------+
12 rows in set (0,00 sec)
*/
/* seleccionar los datos de los equipos cuya web es nula*/
/*
mysql> select*from equipos where web_oficial is null;
Empty set (0,00 sec)
*/
/* obtener los datos de los equipos menos los de valencia y madrid*/ in, not in
/*
mysql> select*from equipos where ciudad<>'Valencia' and ciudad<>'Madrid';
+-----------+-----------------+------------
+-------------------------------------------------------------+--------+
| id_equipo | nombre_equipo | ciudad | web_oficial
| puntos |
+-----------+-----------------+------------
+-------------------------------------------------------------+--------+
| 1 | Regal_Barcelona | Barcelona |
http://www.fcbarcelona.com/web/index_idiomes.html | 10 |
| 4 | Caja_laboral | Vitoria |
http://www.baskonia.com/prehomes/prehomes.asp?id_prehome=69 | 22 |
| 5 | Gran_Canaria | Las_Palmas | http://www.acb.com/club.php?id=CLA
| 14 |
| 6 | CAI_Zaragoza | Zaragoza | http://www.basketzaragoza.net/
| 23 |
+-----------+-----------------+------------
+-------------------------------------------------------------+--------+
4 rows in set (0,00 sec)
*/
/* obtener los datos de los partidos de marzo del 2010*/
/*
mysql> select*from partido where fecha between '2010/03/01' and '2010/03/31';
Empty set (0,00 sec)
*/
/* seleccionar el nombre de los jugadores pivot que ganen mas de 10000 euros*/
/*
mysql> select nombre, puesto, salario from jugadores where puesto='pivot' having
salario>10000;
+---------+--------+---------+
| nombre | puesto | salario |
+---------+--------+---------+
| Felipe | Pivot | 120000 |
| Mirza | Pivot | 70000 |
| Xavi | Pivot | 95000 |
| Rafa | Pivot | 53000 |
| Sithapa | Pivot | 60000 |
+---------+--------+---------+
5 rows in set (0,00 sec)
*/
/* seleccionar el nombre de los jugadores de los equipos 1 y 2 que jueguen como
pivot*/ 1o2andpivot
/*
mysql> select nombre, puesto, num_equipo from jugadores where puesto='pivot' having
num_equipo=1 or num_equipo=2;
+--------+--------+------------+
| nombre | puesto | num_equipo |
+--------+--------+------------+
| Felipe | Pivot | 2 |
+--------+--------+------------+
1 row in set (0,00 sec)
*/
/* calcular el numero de jugadores que miden mas de 2 metros*/
/*
mysql> select count(altura) from jugadores where altura>2.00;
+---------------+
| count(altura) |
+---------------+
| 8 |
+---------------+
1 row in set (0,01 sec)
*/
/* calcular el salario medio de todos los jugadores*/
/*
mysql> select avg(salario) from jugadores;
+--------------+
| avg(salario) |
+--------------+
| 80071.4286 |
+--------------+
1 row in set (0,00 sec)
*/
/* encontrar el salario mas alto,el mas bajo y la diferencia entre ambos*/
/*
mysql> select max(salario) as 'salario mas alto', min(salario) as 'salario mas
bajo',(max(salario)-min(salario)) as 'diferencia salario' from jugadores;
+------------------+------------------+--------------------+
| salario mas alto | salario mas bajo | diferencia salario |
+------------------+------------------+--------------------+
| 130000 | 47000 | 83000 |
+------------------+------------------+--------------------+
1 row in set (0,00 sec)
*/
/* hallar el numero de ciudades en las que hay equipos registrados*/
/*
mysql> select count(ciudad) from equipos where id_equipo is not null;
+---------------+
| count(ciudad) |
+---------------+
| 6 |
+---------------+
1 row in set (0,00 sec)
*/
/* obtener el salario mensual neto de cada jugador suponiendo que el irppf es del
18% */12pagas
/*
mysql> select nombre, (salario*0.82)/12 as 'salario mensual neto' from jugadores;
+-------------+----------------------+
| nombre | salario mensual neto |
+-------------+----------------------+
| Juan_Carlos | 8883.333333 |
| Felipe | 8200.000000 |
| Victor | 6150.000000 |
| Rafa | 3485.000000 |
| Fernando | 4100.000000 |
| Mirza | 4783.333333 |
| Sergio | 6833.333333 |
| Victor | 5466.666667 |
| Carlos | 4100.000000 |
| Xavi | 6491.666667 |
| Carlos | 7175.000000 |
| Pablo | 3211.666667 |
| Rafa | 3621.666667 |
| Sithapa | 4100.000000 |
+-------------+----------------------+
14 rows in set (0,00 sec)
*/
/* seleccionar el numero de jugadores por equipo*/
/*
mysql> select num_equipo, count(*) from jugadores group by num_equipo;
+------------+----------+
| num_equipo | count(*) |
+------------+----------+
| 1 | 2 |
| 2 | 3 |
| 3 | 2 |
| 4 | 2 |
| 5 | 2 |
| 6 | 3 |
+------------+----------+
6 rows in set (0,00 sec)
*/
/* seleccionar el salario minimo y el maximo de los jugadores agrupados por
equipo*/
/*
mysql> select num_equipo, max(salario) as 'salario mas alto', min(salario) as
'salario mas bajo' from jugadores group by num_equipo;
+------------+------------------+------------------+
| num_equipo | salario mas alto | salario mas bajo |
+------------+------------------+------------------+
| 1 | 130000 | 80000 |
| 2 | 120000 | 60000 |
| 3 | 90000 | 51000 |
| 4 | 70000 | 60000 |
| 5 | 95000 | 60000 |
| 6 | 105000 | 47000 |
+------------+------------------+------------------+
6 rows in set (0,00 sec)
*/

También podría gustarte