Sunteți pe pagina 1din 9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

BLOG

PORTFOLIO

MANUALES

COLABORA CONMIGO

CONTACTO

You are here: Home / MySQL / Practiquemos las consultas SQL con MySQL! (III de IV)

Practiquemos las consultas SQL con MySQL!


(III de IV)
28 enero, 2012 By Jordi Bassagaas

Megusta

Twittear

Seguimos con el curso de las consultas SQL con MySQL. Si llegas a este post
directamente a travs de Google, te indico que puedes copypastear muy cmodamente
la BBDD original sobre la que se lanzan las consultas en este otro post.
11. Nombre de todos los empleados, empleo, nmero de departamento y localidad:
1 SELECTe.name,e.job,d.number,d.location
2 FROMemployeesaseJOINdepartmentsasdONe.id_department=d.id

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

+++++
|name|job|number|location|
+++++
|Julin|Directorgeneral|101|Madrid|
|Pepa|Jefedecuentas|101|Madrid|
|Carlos|Administrativo|101|Madrid|
|Silvia|Contable|101|Madrid|
|Mara|Administrativa|101|Madrid|
|Pedro|Contable|101|Madrid|
|Juan|Directortcnico|76|Sevilla|
|Teresa|Ingeniera|76|Sevilla|
|Isabel|IngenieraTcnica|76|Sevilla|
|Javier|IngenieroTcnico|76|Sevilla|
|Fernando|Ingeniero|76|Sevilla|
|Marta|Jefadeventas|25|Barcelona|
|Laura|Comercial|25|Barcelona|
|Montse|Comercial|25|Barcelona|
|Jorge|Comercial|25|Barcelona|
|Arturo|Comercial|25|Barcelona|

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

1/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

20
21
22
23
24
25
26

|Ignacio|Directorecommerce|88|Barcelona|
|Juan|Programador|88|Barcelona|
|Pepe|Programador|88|Barcelona|
|Juan|SEO|88|Barcelona|
|Pepe|Analista|88|Barcelona|
+++++
21rowsinset(0.00sec)

12. Nombre de los empleados que trabajan en el departamento nmero 101 o 25:
1 SELECTe.name
2 FROMemployeesaseJOINdepartmentsasdONe.id_department=d.id
3 WHEREd.number=101ORd.number=25

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

++
|name|
++
|Julin|
|Pepa|
|Carlos|
|Silvia|
|Mara|
|Pedro|
|Marta|
|Laura|
|Montse|
|Jorge|
|Arturo|
++
11rowsinset(0.00sec)

13. Seleccionar los distintos empleos que hay en cada departamento:


1 SELECTDISTINCTd.number,e.job
2 FROMemployeesaseJOINdepartmentsasdONe.id_department=d.id

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

+++
|number|job|
+++
|101|Directorgeneral|
|101|Jefedecuentas|
|101|Administrativo|
|101|Contable|
|101|Administrativa|
|76|Directortcnico|
|76|Ingeniera|
|76|IngenieraTcnica|
|76|IngenieroTcnico|
|76|Ingeniero|
|25|Jefadeventas|
|25|Comercial|
|88|Directorecommerce|
|88|Programador|
|88|SEO|
|88|Analista|
+++

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

2/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

21 16rowsinset(0.00sec)

14. Empleados contratados en 2005:


1 SELECT*
2 FROMemployees
3 WHEREhire_dateBETWEEN'20050101'AND'20051231'

1
2
3
4
5
6
7
8

++++++++
|id|number|name|job|hire_date|salary|commission|id_employee
++++++++
|19|109|Pepe|Programador|2005010100:00:00|1700|NULL|
|20|110|Juan|SEO|2005010100:00:00|2000|200|
|21|112|Pepe|Analista|2005010100:00:00|1700|NULL|
++++++++
3rowsinset(0.00sec)

15. Nombre y empleo de los empleados que tienen comisin:


1 SELECTname,job
2 FROMemployees
3 WHEREcommissionISNOTNULL

1
2
3
4
5
6
7
8
9
10
11
12
13

+++
|name|job|
+++
|Pepa|Jefedecuentas|
|Marta|Jefadeventas|
|Ignacio|Directorecommerce|
|Laura|Comercial|
|Montse|Comercial|
|Jorge|Comercial|
|Arturo|Comercial|
|Juan|SEO|
+++
8rowsinset(0.00sec)

16. Empleados cuyo nombre empieza por J':


1 SELECTDISTINCTname
2 FROMemployees
3 WHEREnameLIKE'J%'

1
2
3
4
5
6
7
8
9

++
|name|
++
|Julin|
|Juan|
|Javier|
|Jorge|
++
4rowsinset(0.00sec)

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

3/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

17. Empleados cuyo nombre tiene como segunda letra la a':


1 SELECTDISTINCTname
2 FROMemployees
3 WHEREnameLIKE'_a%'

1
2
3
4
5
6
7
8
9
10

++
|name|
++
|Marta|
|Carlos|
|Mara|
|Javier|
|Laura|
++
5rowsinset(0.00sec)

18. Empleados que ganan ms de 2300 ordenados por nombre:


1
2
3
4

1
2
3
4
5
6
7
8
9
10

SELECT*
FROMemployees
WHEREsalary&gt=2300
ORDERBYname

+++++++
|id|number|name|job|hire_date|salary|commission
+++++++
|5|13|Ignacio|Directorecommerce|2004111000:00:00|2300|
|3|11|Juan|Directortcnico|2004112500:00:00|3600|
|1|1|Julin|Directorgeneral|2004111000:00:00|4000|
|4|12|Marta|Jefadeventas|2004111900:00:00|2500|
|2|10|Pepa|Jefedecuentas|2004111000:00:00|3500|
+++++++
5rowsinset(0.00sec)

19. Calcular el salario anual a percibir por cada empleado:


1 SELECTname,salary*12asannual_salary
2 FROMemployees

1
2
3
4
5
6
7
8
9
10
11
12
13

+++
|name|annual_salary|
+++
|Julin|48000|
|Pepa|42000|
|Juan|43200|
|Marta|30000|
|Ignacio|27600|
|Carlos|14400|
|Silvia|15600|
|Mara|14400|
|Pedro|15600|
|Teresa|25200|

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

4/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

14
15
16
17
18
19
20
21
22
23
24
25
26

|Isabel|21600|
|Javier|21600|
|Fernando|25200|
|Laura|25200|
|Montse|21600|
|Jorge|21600|
|Arturo|25200|
|Juan|21600|
|Pepe|20400|
|Juan|24000|
|Pepe|20400|
+++
21rowsinset(0.00sec)

20. Calcular lo que paga la empresa cada mes en concepto de salarios:


1 SELECTSUM(salary)asmonth_salaries
2 FROMemployees

1
2
3
4
5
6

++
|month_salaries|
++
|43700|
++
1rowinset(0.00sec)

21. Calcular el nmero de empleados que tienen comisin y la media de la comisin:


1 SELECTCOUNT(*)asagents,AVG(commission)asaverage_comission
2 FROMemployees
3 WHEREcommissionISNOTNULL

1
2
3
4
5
6

+++
|agents|average_comission|
+++
|8|481.2500|
+++
1rowinset(0.00sec)

22. Calcular el salario mnimo y el salario mximo de los empleados agrupados por
empleo:
1 SELECTjob,MIN(salary),MAX(salary)
2 FROMemployees
3 GROUPBYjob

1
2
3
4
5
6
7

++++
|job|MIN(salary)|MAX(salary)|
++++
|Administrativa|1200|1200|
|Administrativo|1200|1200|
|Analista|1700|1700|
|Comercial|1800|2100|

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

5/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

8
9
10
11
12
13
14
15
16
17
18
19
20
21

|Contable|1300|1300|
|Directorecommerce|2300|2300|
|Directorgeneral|4000|4000|
|Directortcnico|3600|3600|
|Ingeniera|2100|2100|
|IngenieraTcnica|1800|1800|
|Ingeniero|2100|2100|
|IngenieroTcnico|1800|1800|
|Jefadeventas|2500|2500|
|Jefedecuentas|3500|3500|
|Programador|1700|1800|
|SEO|2000|2000|
++++
16rowsinset(0.00sec)

23. Calcular el nmero de empleados que tienen comisin y la media de la comisin en


cada departamento:
1
2
3
4

SELECTid_department,COUNT(*)asagents,ROUND(AVG(commission),2)asaverage_comission
FROMemployees
WHEREcommissionISNOTNULL
GROUPBYid_department

1
2
3
4
5
6
7
8

++++
|id_department|agents|average_comission|
++++
|1|1|300.00|
|3|5|530.00|
|4|2|450.00|
++++
3rowsinset(0.00sec)

24. Calcular el salario mnimo, mximo y medio de los empleados agrupados por
empleo:
1 SELECTjob,MIN(salary),MAX(salary),ROUND(AVG(salary),2)
2 FROMemployees
3 GROUPBYjob

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+++++
|job|MIN(salary)|MAX(salary)|ROUND(AVG(salary),2)|
+++++
|Administrativa|1200|1200|1200.00|
|Administrativo|1200|1200|1200.00|
|Analista|1700|1700|1700.00|
|Comercial|1800|2100|1950.00|
|Contable|1300|1300|1300.00|
|Directorecommerce|2300|2300|2300.00|
|Directorgeneral|4000|4000|4000.00|
|Directortcnico|3600|3600|3600.00|
|Ingeniera|2100|2100|2100.00|
|IngenieraTcnica|1800|1800|1800.00|
|Ingeniero|2100|2100|2100.00|
|IngenieroTcnico|1800|1800|1800.00|

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

6/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

16
17
18
19
20
21

|Jefadeventas|2500|2500|2500.00|
|Jefedecuentas|3500|3500|3500.00|
|Programador|1700|1800|1750.00|
|SEO|2000|2000|2000.00|
+++++
16rowsinset(0.00sec)

25. Calcular el salario mnimo, mximo y medio de los empleados agrupados por
empleo, pero slo de aquellos cuya media sea superior a 3000:
1
2
3
4

SELECTjob,MIN(salary),MAX(salary),ROUND(AVG(salary),2)
FROMemployees
GROUPBYjob
HAVINGAVG(salary)&gt3000

1
2
3
4
5
6
7
8

+++++
|job|MIN(salary)|MAX(salary)|ROUND(AVG(salary),2)|
+++++
|Directorgeneral|4000|4000|4000.00|
|Directortcnico|3600|3600|3600.00|
|Jefedecuentas|3500|3500|3500.00|
+++++
3rowsinset(0.00sec)

Filed Under: MySQL

Comenta a Jordi en las redes!

JordiBassagaas
YouTube

357

380
Seguir

Seguira@programarivm
Poltica de cookies
Utilizamos cookies propias y de terceros para mejorar la
experiencia de navegacin, y ofrecer contenidos y publicidad de
inters. Al continuar con la navegacin entendemos que se acepta
nuestra Poltica de cookies . Poltica de cookies .

Buscar palabras...

Categoras
http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

7/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

Categoras
Elegir categora

Sobre m

Hola! Mi nombre es Jordi Bassagaas, soy


desarrollador de apps web titulado en Ingeniera
Informtica. Puedes contactar conmigo en
info@programarivm.com y en el tel. +34 685 746 914
Aviso legal | Poltica de cookies | Contacto

Creative Commons BY-NC-ND

Sgueme en

Entradas antiguas
Entradas antiguas

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

8/9

15/6/2015

PractiquemoslasconsultasSQLconMySQL!(IIIdeIV)

Elegir mes

http://programarivm.com/2012/01/practiquemoslasconsultassqlconmysqliiideiv/

9/9

S-ar putea să vă placă și