Navigation

Boletín funciones en MySql

Compártelo:


Creación de tabla:

CREATE TABLE personas
(
cod_hospital VARCHAR(9),
dni VARCHAR(10),
apellidos VARCHAR(40),
funcion VARCHAR(30),
salario INT(10),
localidad VARCHAR(40),
constraint pk_personas primary key (dni)
)ENGINE = InnoDB;

INSERT INTO personas 
VALUES ('1','12345678','García Hernández, Eladio','CONSERJE','1200','LORCA');

INSERT INTO personas 
VALUES ('1','87654321','Fuentes Bermejo, Carlos','DIRECTOR','2000','MURCIA');

INSERT INTO personas 
VALUES ('2','55544433','González Marín, Alicia','CONSERJE','1200','MURCIA');

INSERT INTO personas 
VALUES ('1','66655544','Castillo Montes, Pedro','MEDICO','1700','MURCIA');

INSERT INTO personas 
VALUES ('2','22233322','Tristán García, Ana','MEDICO','1900','MURCIA');

INSERT INTO personas 
VALUES ('3','55544411','Ruiz Hernández, Caridad','MEDICO','1900','LORCA');

insert into personas
values('3','99988333','Serrano Díaz, Alejandro','DIRECTOR',2400,'CARTAGENA');

insert into personas
values('4','3322211','Mesa del Castillo, Juan','MEDICO',2200,'LORCA');

insert into personas
values('2','2223333','Martínez Molina, Andrés','MEDICO',1600,'CARTAGENA');

insert into personas
values('4','55544412','Jiménez Jiménez, Dolores','CONSERJE',1200,'MURCIA');

insert into personas
values('4','22233311','Martínez Molina, Gloria','MEDICO',1600,'MURCIA');
 
 
Enunciados:

1 Mostrar todos los datos de todas las personas.

2 Obtén el DNI, apellidos y función de todas las personas.

3 Mostrar los apellidos de las personas que vivan en LORCA.

4 Mostrar los apellidos de las personas que vivan en MURCIA o LORCA

5 Seleccionar los datos de aquellas personas que vivan en MURCIA y tengan
un salario superior a los 1500 euros.

6 Mostrar los datos de las personas que vivan en MURCIA, tengan un salario
superior a los 1500 euros y sean DIRECTORES.

7 Mostrar los datos de las personas cuya función sea MÉDICO ordenados por
apellidos descendentemente.

8 Mostrar los datos de todas las localidades que hay en la tabla personas sin
repeticiones (debes empear la cláusula DISTINCT)

9 Mostrar los datos de las personas que tengan un salario superior a 1500
euros y sean médicos. Ordenar la salida por salario descendentemente.

10 Seleccionar aquellas personas cuyo apellido comience por M.

11 Mostrar los datos de las personas que tengan una M en el apellido y cuya
función sea CONSERJE

12.Mostrar aquellas personas que tengan un salario entre 1500 y 200 euros.

13 Seleccionar los datos de aquellas personas cuya función sea MÉDICO o
DIRECTOR (utilizar el operador IN)

14 Obtener los datos de aquellas personas cuya función no sea CONSERJE
(utilizar el operador NOT IN) y tengan un salario superior a los 1500 euros,
ordenados por apellido descendentemente.

15 Mostrar los datos de las personas que sean de MURCIA o CARTAGENA y
que pertenezcan al hospital número 1.

16 Obtén los apellidos en mayúsculas de las personas que trabajen en el
hospital número 1.

17 Con una consulta devuelve los apellidos de todas las personas. Al lado debe aparecer la longitud de cada apellido.

18 Obtener los apellidos y localidad en minúscula de todas aquellas persona que no trabajen en el hospital número 1.

19 Obtener los datos de las personas que trabajen en los hospitales 1 ó 2 y
tengan un salario superior a 1500 euros.

20 Visualizar los datos de aquellas personas que no trabajen en el hospital
número 2 y que sean de MURCIA.

Soluciones:

---------------1--------------

select *
from personas;

---------------2--------------

select dni,apellidos,funcion
from personas;

---------------3--------------

select apellidos
from personas
where localidad='LORCA';

---------------4--------------

select apellidos
from personas
where localidad='LORCA' or localidad='MURCIA';

---------------5--------------

select *
from personas
where localidad='MURCIA'
and salario>1500;

---------------6--------------

select *
from personas
where localidad='MURCIA'
and salario>1500
and funcion='DIRECTOR';

---------------7--------------

select *
from personas
where funcion='MEDICO'
order by apellidos desc;

---------------8--------------

select distinct(localidad)
from personas;

---------------9--------------

select *
from personas
where salario>1500
and funcion='MEDICO'
order by salario desc;

---------------10--------------

select *
from personas
where apellidos like 'M%';

---------------11--------------

select *
from personas
where apellidos like '%M%'
and funcion='CONSERJE';

---------------12--------------

select *
from personas
where salario between 1500 and 2000;

---------------13--------------

select *
from personas
where funcion in ('MEDICO','DIRECTOR');

---------------14--------------

select *
from personas
where funcion not in ('CONSERJE')
and salario>1500
order by apellidos desc;

---------------15--------------

select *
from personas
where localidad in ('MURCIA','CARTAGENA')
and cod_hospital=1;

---------------16--------------

select upper(apellidos)
from personas
where cod_hospital=1;

---------------17--------------

select apellidos, length(apellidos) as Longitud_de_apellido
from personas;

---------------18--------------

select lower(apellidos), lower(localidad)
from personas
where localidad!=1;

---------------19--------------

select *
from personas
where cod_hospital=1 or cod_hospital=2
and salario>1500;

---------------20--------------

select *
from personas
where cod_hospital!=2
and localidad='MURCIA';
Compártelo:

Basededatos

Post A Comment:

0 comments: