Anda di halaman 1dari 4

TABLAS DE EJEMPLO PARA SQL CON SUS CONSULTAS.

CREATE VIEW PROMEDIO AS


SELECT OFICIO, APELLIDO
FROM EMPLEADOBVRL
WHERE DEPTO_NO=23;

-SALARIO ALEATORIO
UPDATE EMPLEADOBVRL
SET SALARIO = ROUND (DBMS_RANDOM.VALUE(5000,9999));

UPDATE MATERIAEGL
SET COSTO = ROUND(DBMS_RANDOM.VALUE(5000,9999));

-Borrar vista
DROP VIEW [NOMBRE_VISTA]

1.-

CREATE VIEW PROMEDIOEGL AS
SELECT AVG(SALARIO) "SALPROM", DEPTO_NO
FROM EMPLEADOBVRL
GROUP BY DEPTO_NO;

SELECT APELLIDO, SALARIO
FROM EMPLEADOBVRL E, PROMEDIOEGL P
WHERE E.DEPTO_NO = P.DEPTO_NO
AND SALARIO<SALPROM;

2.-

CREATE TABLE EMPE23EGL(EMPLEADO, OFICIO, JEFE) AS
SELECT APELLIDO, OFICIO, NOMBRE
FROM EMPLEADOBVRL E, DEPARTAMENTOBVRL D
WHERE E.DEPTO_NO = D.DEPT_NO
AND 1 = 2;

INSERT INTO EMPE23EGL(EMPLEADO, OFICIO, JEFE)
(
SELECT APELLIDO, OFICIO, NOMBRE
FROM EMPLEADOBVRL E, DEPARTAMENTOBVRL D
WHERE E.DEPTO_NO = D.DEPT_NO
AND E.DEPTO_NO = 23
);

3.-


CREATE VIEW MAXCEGL(CALMAX, CLAVE, MATERIA) AS
SELECT MAX(CALIFICACION), M.CLAVE, NOMM
FROM CURSAEGL C, MATERIAEGL M
WHERE C.CLAVE = M.CLAVE
GROUP BY (M.CLAVE, NOMM);

SELECT NOMBRE, CALIFICACION, MATERIA
FROM MAXCEGL M, ALUMNOEGL A, CURSAEGL C
WHERE M.CLAVE = C.CLAVE
AND A.CONTROL = C.CONTROL
AND CALIFICACION = CALMAX;

4.-
CREATE VIEW MI_VISTA AS
SELECT DISTINCT COUNT(NOMBRE) AS NO_ALUMNOS, AVG(CALIFICACION) AS PROMEDIO,
ESPECIALIDAD
FROM CURSAEGL C, ALUMNOEGL A
WHERE C.CONTROL(+)=A.CONTROL
GROUP BY ESPECIALIDAD, NOMBRE;

SELECT ESPECIALIDAD, NO_ALUMNOS
FROM MI_VISTA
WHERE NO_ALUMNOS=(SELECT MAX(NO_ALUMNOS)
FROM MI_VISTA);

SELECT ESPECIALIDAD, PROMEDIO
FROM MI_VISTA
WHERE PROMEDIO=(SELECT MAX(PROMEDIO)
FROM MI_VISTA);

5.-
CREATE VIEW CURSOS_CAROSEGL AS
SELECT NOMM, COUNT(C.CLAVE) AS NO_ALUMNOS, COSTO
FROM MATERIAEGL M, CURSAEGL C
WHERE M.CLAVE=C.CLAVE
AND COSTO > 8000
GROUP BY NOMM, COSTO;

SELECT NOMM, NO_ALUMNOS * COSTO AS INGRESO_TOTAL
FROM CURSOS_CAROSEGL;

6.-
CREATE TABLE ALUMNO1 AS
SELECT CONTROL, SUBSTR(NOMBRE,1,INSTR(NOMBRE, ' ',1)-1),
SUBSTR(NOMBRE,INSTR(NOMBRE, ' ',1)+1), ESPECIALIDAD
FROM ALUMNOEGL;

SELECT INSTR(NOMBRE, ' ',-1,1)
FROM ALUMNOEGL;

SELECT SUBSTR(NOMBRE,1,INSTR(NOMBRE, ' ',1)-1)
FROM ALUMNOEGL;

Anda mungkin juga menyukai