Consultas Avanzadas SQL
discriminación de grupo…
1. Obtener la fecha del sistema.
SQL> SELECT SYSDATE
2 FROM DUAL;SYSDATE
--------09-NOV-13
2. Obtener la hora del sistema.
SQL> SELECT TO_CHAR(SYSDATE, 'HH:MI:SS')
2 FROM DUAL;
TO_CHAR(
-------04:00:36
3. Dar la fecha del sistema con el formato día de lasemana, día del mes, mes y año.
SQL> SELECT TO_CHAR(SYSDATE, 'DAY MM-YYYY')
2 FROM DUAL;
TO_CHAR(SYSDATE,'
----------------SATURDAY 11-2013
4. Dar la hora del sistema en formato de reloj de 24horas.
SQL> SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS')
2 FROM DUAL;
TO_CHAR(
-------16:02:46
5. Obtener el número de días que lleva impartiendo la asignatura con código 11 el profesor con DNI 8888.
SQL>SELECT SYSDATE-FI
2 FROM PLAN_DOCENTE
3 WHERE DNI = 8888 AND CAS = 11;
SYSDATE-FI
---------1530.66966
6. Listar los nombres de profesores que han impartido una asignatura más de 365 días.
SQL>SELECT P
2 FROM PROFESOR
3 WHERE DNI IN (SELECT DNI
4
FROM PLAN_DOCENTE
5
GROUP BY DNI
6
HAVING SUM(NVL(FF, SYSDATE)-FI) > 365);
P-----------------------------------------------------------CARLOS
CARMEN
ANGELA
MARIA
JUAN
MARIO
JOSE MANUEL
PEDRO
FRANCISCO
DAVID
SOLEDAD
IVAN
12 rows selected.
7. Hallar el número de profesores del departamento ‘ASTROFÍSICA’.
SQL> SELECTCOUNT(DISTINCT DNI)
2 FROM PLAN_DOCENTE
3 WHERE CAS IN(SELECT CAS
4
FROM ASIGNATURA
5
WHERE CAR IN(SELECT CAR
6
FROM AREA
7
WHERE CD IN(SELECT CD
8
FROM DEPARTAMENTO
9
WHERED='ASTROFISICA')));
COUNT(DISTINCTDNI)
-----------------1
8. Hallar para cada departamento el número de profesores que tiene. Ordena la salida alfabéticamente.
SQL>
2
3
4
5
SELECT D, COUNT(1)
FROMDEPARTAMENTO D, AREA A, PROFESOR P
WHERE (D.CD = A.CD) AND (A.CAR = P.CAR)
GROUP BY D
ORDER BY D;
D
COUNT(1)
------------------------------------------------------------ ---------ANALISIS...
Regístrate para leer el documento completo.