jueves, 27 de noviembre de 2008

MySQL - Caso Práctico pág. 124

  • Queremos consultar los datos de los empleados que trabajan en "MADRID" o "BARCELONA". La localidad de los departamentos se obtiene de la tabla DEPART.

SELECT DEPT_NO FROM DEPART WHERE LOC IN ('MADRID','BARCELONA');

  • A continuación seleccionamos los datos de los empleados que estén en esos departamentos:

SELECT EMP_NO, APELLIDO, OFICIO, DIR, FECHA_ALT, SALARIO, COMISION, DEPT_NO FROM EMPLE WHERE DEPT_NO IN(20, 30);

martes, 18 de noviembre de 2008

MySQL - Caso Práctico pág. 118

Con la tabla EMPLE, obtén el APELLIDO de los empleados con el mismo OFICIO que 'Gil'. Para ello, descomponemos el enunciado en dos consultas:
  • Averiguamos el OFICIO de 'Gil':

[ SELECT OFICIO FROM EMPLE WHERE APELLIDO = 'GIL'; ]
  • Visualizamos el APELLIDO de los empleados con el mismo OFICIO que 'Gil':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO='ANALISTA' ; ]

MySQL - Caso Práctico pág. 117

A partir de la tala EMPLE obtén el APELLIDO, SALARIO y DEPT_NO de los empleados cuyo salario sea mayor de 2000 en los departamentos 10 o 20:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND (DEPT_NO=10 OR DEPT_NO=20); ]

Si realizamos la misma consulta sin utilizar paréntesis, se obtiene como resultado los empleados cuyo SALARIO sea mayo de 2000 y pertenezcan al DEPARTAMENTO número 10; o bien, aquellos cuyo DEPT_NO sea el 20:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND DEPT_NO=10 OR DEPT_NO=20; ]

La consulta inicial también se puede hacer utilizando el operador IN:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND DEPT_NO IN(10,20); ]

lunes, 17 de noviembre de 2008

MySQL - Caso Práctico pág. 116

  • A partir de la tabla EMPLE, obtén el apellido y el salario de los empleados cuyo salario esté comprendido entre 1.500 y 2.000, ambos inclusive:
[ SELECT APELLIDO, SALARIO FROM EMPLE WHERE SALARIO BETWEEN 1500 AND 2000; ]
  • Obtener el apellido y el salario de los empleados cuyo SALARIO no esté comprendido entre 1.500 y 2.000:
[ SELECT APELLIDO, SALARIO FROM EMPLE WHERE SALARIO NOT BETWEEN 1500 AND 2000; ]

MySQL - Caso Práctico pág. 115

La lista de valores está formada por números:
  • Consulta los apellidos de la tabla EMPLE cuyo número de departamento sea 10 ó 30:
[ SELECT APELLIDO FROM EMPLE WHERE DEPT_NO IN(10,30) ; ]
  • Consulta los apellidos de la tabla EMPLE cuyo número de departamento no sea ni 10 ni 30:
[ SELECT APELLIDO FROM EMPLE WHERE DEPT_NO NOT IN(10,30) ; ]

____________________________________________________________

La lista de valores está formada por cadenas de caracteres:
  • Consulta los apellidos de la tabla EMPLE cuyo oficio sea 'VENDEDOR', 'ANALISTA' y 'EMPLEADO':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO');]
  • Consulta los apellidos de la tabla EMPLE cuyo oficio no sea ni 'VENDEDOR', ni 'ANALISTA' ni 'EMPLEADO':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO NOT IN('VENDEDOR', 'ANALISTA', 'EMPLEADO'); ]

lunes, 10 de noviembre de 2008

MySQL - Caso Práctico pág. 113 y 114

Utilizando la cláusula LIKE, y a partir de la tabla EMPLE, realizar las siguientes consultas:
  • Obtener aquellos apellidos que empiecen por la letra "J".
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE 'J%' ; ]
  • Obtener aquellos apellidos que tengan una "R" en la segunda posición:
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE '_R%' ; ]
  • Obtener aquellos apellidos que empiecen por "A" y tengan una "O" en su interior:
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE 'A%O%' ; ]
____________________________________________________________________

A continuación, considerando la tabla LIBRERIA, cuya descripción es la siguiente:
  • Consultar las filas de la tabla LIBRERIA cuyo tema sea "LABORES"; usando el operador "=" :
[ SELECT * FROM LIBRERIA WHERE TEMA='LABORES' ; ]
  • La misma consulta, pero utilizando el operador LIKE:
[ SELECT * FROM LIBRERIA WHERE TEMA LIKE 'LABORES' ; ]

 
Paradores