Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 14

SQL> SELECT AVG(SALARY) AS PROMEDIO_SALARY,MAX(SALARY) AS MAX_SALARY ,MIN(SALARY)

AS MIN_SALARY,SUM(SALARY) AS SUM_SALARY,COUNT(EMPLOYEE_ID) AS NUMERO_EPLOYEES FROM


EMPLOYEES;

PROMEDIO_SALARY MAX_SALARY MIN_SALARY SUM_SALARY NUMERO_EPLOYEES


--------------- ---------- ---------- ---------- ---------------
6461,83178 24000 2100 691416 107

SQL> DESCRIBE JOBS;


Nombre �Nulo? Tipo
----------------------------------------- -------- ----------------------------
JOB_ID NOT NULL VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)

SQL> SELECT JOB_ID,JOB_TITLE FROM JOBS;

JOB_ID JOB_TITLE
---------- -----------------------------------
AD_PRES President
AD_VP Administration Vice President
AD_ASST Administration Assistant
FI_MGR Finance Manager
FI_ACCOUNT Accountant
AC_MGR Accounting Manager
AC_ACCOUNT Public Accountant
SA_MAN Sales Manager
SA_REP Sales Representative
PU_MAN Purchasing Manager
PU_CLERK Purchasing Clerk

JOB_ID JOB_TITLE
---------- -----------------------------------
ST_MAN Stock Manager
ST_CLERK Stock Clerk
SH_CLERK Shipping Clerk
IT_PROG Programmer
MK_MAN Marketing Manager
MK_REP Marketing Representative
HR_REP Human Resources Representative
PR_REP Public Relations Representative

19 filas seleccionadas.

SQL> SELECT AVG(SALARY) AS PROMEDIO_SALARY,MAX(SALARY) AS MAX_SALARY ,MIN(SALARY)


AS MIN_SALARY,SUM(SALARY) AS SUM_SALARY,COUNT(EMPLOYEE_ID) AS NUMERO_EPLOYEES FROM
EMPLOYEES WHERE JOB_ID='IT_PROG';

PROMEDIO_SALARY MAX_SALARY MIN_SALARY SUM_SALARY NUMERO_EPLOYEES


--------------- ---------- ---------- ---------- ---------------
5760 9000 4200 28800 5

SQL> SELECT MAX(HIRE_DATE) AS ULTIMA,MIN(HIRE_DATE) AS PRIMERA FROM EMPLOYEES;

ULTIMA PRIMERA
-------- --------
21/04/08 13/01/01
SQL> SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES WHERE (DEPARTMENT_ID=90) AND
(JOB_ID=IT_PROG);
SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES WHERE (DEPARTMENT_ID=90) AND
(JOB_ID=IT_PROG)
*
ERROR en l�nea 1:
ORA-00904: "IT_PROG": identificador no v�lido

SQL> SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES WHERE (DEPARTMENT_ID=90) AND


(JOB_ID='IT_PROG');

COUNT(EMPLOYEE_ID)
------------------
0

SQL> SELECT DISTINT DEPARTMENT_ID FROM EMPLOYEES;


SELECT DISTINT DEPARTMENT_ID FROM EMPLOYEES
*
ERROR en l�nea 1:
ORA-00904: "DISTINT": identificador no v�lido

SQL> SELECT DISTINT( DEPARTMENT_ID) FROM EMPLOYEES;


SELECT DISTINT( DEPARTMENT_ID) FROM EMPLOYEES
*
ERROR en l�nea 1:
ORA-00904: "DISTINT": identificador no v�lido

SQL> SELECT COUNT(DISTINT DEPARTMENT_ID) FROM EMPLOYEES;


SELECT COUNT(DISTINT DEPARTMENT_ID) FROM EMPLOYEES
*
ERROR en l�nea 1:
ORA-00907: falta el par�ntesis derecho

SQL> SELECT DEPARTMENT_ID FROM EMPLOYEES;

DEPARTMENT_ID
-------------
90
90
90
60
60
60
60
60
100
100
100

DEPARTMENT_ID
-------------
100
100
100
30
30
30
30
30
30
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
80
80
80
80
80
80
80
80
80
80

DEPARTMENT_ID
-------------
80
80
80
80
80
80
80
80
80
80
80

DEPARTMENT_ID
-------------
80
80
80
80
80
80
80
80
80
80
80

DEPARTMENT_ID
-------------
80

80
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
10
20
20
40
70
110
110

107 filas seleccionadas.


SQL> SELECT DEPARTMENT_ID FROM EMPLOYEES ORDER BY DEPARTMENTO_ID;
SELECT DEPARTMENT_ID FROM EMPLOYEES ORDER BY DEPARTMENTO_ID
*
ERROR en l�nea 1:
ORA-00904: "DEPARTMENTO_ID": identificador no v�lido

SQL> SELECT DEPARTMENT_ID FROM EMPLOYEES ORDER BY DEPARTMENT_ID;

DEPARTMENT_ID
-------------
10
20
20
30
30
30
30
30
30
40
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
50
50
50
50
50
50
50
50
50
50
50

DEPARTMENT_ID
-------------
60
60
60
60
60
70
80
80
80
80
80

DEPARTMENT_ID
-------------
80
80
80
80
80
80
80
80
80
80
80

DEPARTMENT_ID
-------------
80
80
80
80
80
80
80
80
80
80
80

DEPARTMENT_ID
-------------
80
80
80
80
80
80
80
90
90
90
100

DEPARTMENT_ID
-------------
100
100
100
100
100
110
110

107 filas seleccionadas.

SQL> SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES ORDER BY DEPARTMENT_ID;

DEPARTMENT_ID
-------------
10
20
30
40
50
60
70
80
90
100
110

DEPARTMENT_ID
-------------

12 filas seleccionadas.

SQL> SELECT COUNT(DISTINCT DEPARTMENT_ID) FROM EMPLOYEES ORDER BY DEPARTMENT_ID;

COUNT(DISTINCTDEPARTMENT_ID)
----------------------------
11
SQL> SELECT COUNT(COMMISSION_PCT) FROM EMPLOYEES ORDER BY DEPARTMENT_ID;

COUNT(COMMISSION_PCT)
---------------------
35

SQL> SELECT AVG(COMMISSION_PCT) FROM EMPLOYEES ORDER BY DEPARTMENT_ID;

AVG(COMMISSION_PCT)
-------------------
,222857143

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY) FROM EMPLOYEES GROUP BY


DEPARTMENT_ID;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY)


------------- ----------- -------------
50 156400 45
40 6500 1
110 20308 2
90 58000 3
30 24900 6
70 10000 1
7000 1
10 4400 1
20 19000 2
60 28800 5
100 51608 6

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY)


------------- ----------- -------------
80 304500 34

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
10 4400 1 4400
20 19000 2 9500
30 24900 6 4150
40 6500 1 6500
50 156400 45 3475,55556
60 28800 5 5760
70 10000 1 10000
80 304500 34 8955,88235
90 58000 3 19333,3333
100 51608 6 8601,33333
110 20308 2 10154

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
7000 1 7000

12 filas seleccionadas.

SQL> SELECT
NVL(DEPARTMENT_ID,NOT_DEPARTMENT)"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SALA
RY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;
SELECT
NVL(DEPARTMENT_ID,NOT_DEPARTMENT)"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SALA
RY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID
*
ERROR en l�nea 1:
ORA-00904: "NOT_DEPARTMENT": identificador no v�lido

SQL> SELECT
NVL(DEPARTMENT_ID,'NOT_DEPARTMENT')"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SA
LARY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;
SELECT
NVL(DEPARTMENT_ID,'NOT_DEPARTMENT')"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SA
LARY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID
*
ERROR en l�nea 1:
ORA-01722: n�mero no v�lido

SQL> SELECT NVL(DEPARTMENT_ID,'NOT


DEPARTMENT')"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES
GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;
SELECT NVL(DEPARTMENT_ID,'NOT
DEPARTMENT')"DEPARTMENT_ID",SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES
GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID
*
ERROR en l�nea 1:
ORA-01722: n�mero no v�lido

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
10 4400 1 4400
20 19000 2 9500
30 24900 6 4150
40 6500 1 6500
50 156400 45 3475,55556
60 28800 5 5760
70 10000 1 10000
80 304500 34 8955,88235
90 58000 3 19333,3333
100 51608 6 8601,33333
110 20308 2 10154

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
7000 1 7000

12 filas seleccionadas.

SQL> SELECT
NVL(DEPARTMENT_ID,LAST_NAME),DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY)
FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;
SELECT
NVL(DEPARTMENT_ID,LAST_NAME),DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY)
FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID
*
ERROR en l�nea 1:
ORA-00979: no es una expresi�n GROUP BY

SQL> SELECT
NVL(DEPARTMENT_ID,LAST_NAME)"NAME",DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALA
RY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;
SELECT
NVL(DEPARTMENT_ID,LAST_NAME)"NAME",DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALA
RY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID
*
ERROR en l�nea 1:
ORA-00979: no es una expresi�n GROUP BY

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
10 4400 1 4400
20 19000 2 9500
30 24900 6 4150
40 6500 1 6500
50 156400 45 3475,55556
60 28800 5 5760
70 10000 1 10000
80 304500 34 8955,88235
90 58000 3 19333,3333
100 51608 6 8601,33333
110 20308 2 10154

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
7000 1 7000

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID DESC;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
7000 1 7000
110 20308 2 10154
100 51608 6 8601,33333
90 58000 3 19333,3333
80 304500 34 8955,88235
70 10000 1 10000
60 28800 5 5760
50 156400 45 3475,55556
40 6500 1 6500
30 24900 6 4150
20 19000 2 9500

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY DESC;
SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES GROUP BY
DEPARTMENT_ID ORDER BY DESC

*
ERROR en l�nea 1:
ORA-00936: falta una expresi�n

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),AVG(SALARY) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
80 304500 34 8955,88235
50 156400 45 3475,55556
90 58000 3 19333,3333
100 51608 6 8601,33333
60 28800 5 5760
30 24900 6 4150
110 20308 2 10154
20 19000 2 9500
70 10000 1 10000
7000 1 7000
40 6500 1 6500

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) AVG(SALARY)


------------- ----------- ------------- -----------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROU(AVG(SALARY)) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC;
SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROU(AVG(SALARY)) FROM EMPLOYEES
GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC
*
ERROR en l�nea 1:
ORA-00904: "ROU": identificador no v�lido

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROW(AVG(SALARY)) FROM EMPLOYEES


GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC;
SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROW(AVG(SALARY)) FROM EMPLOYEES
GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC
*
ERROR en l�nea 1:
ORA-00936: falta una expresi�n

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROUND(AVG(SALARY)) FROM


EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC;
DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) ROUND(AVG(SALARY))
------------- ----------- ------------- ------------------
80 304500 34 8956
50 156400 45 3476
90 58000 3 19333
100 51608 6 8601
60 28800 5 5760
30 24900 6 4150
110 20308 2 10154
20 19000 2 9500
70 10000 1 10000
7000 1 7000
40 6500 1 6500

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) ROUND(AVG(SALARY))


------------- ----------- ------------- ------------------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY),COUNT(SALARY),ROUND(AVG(SALARY),2) FROM


EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY SUM(SALARY) DESC;

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) ROUND(AVG(SALARY),2)


------------- ----------- ------------- --------------------
80 304500 34 8955,88
50 156400 45 3475,56
90 58000 3 19333,33
100 51608 6 8601,33
60 28800 5 5760
30 24900 6 4150
110 20308 2 10154
20 19000 2 9500
70 10000 1 10000
7000 1 7000
40 6500 1 6500

DEPARTMENT_ID SUM(SALARY) COUNT(SALARY) ROUND(AVG(SALARY),2)


------------- ----------- ------------- --------------------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,SUM(SALARY) "SALARIO


TOTAL",COUNT(SALARY),ROUND(AVG(SALARY),2) FROM EMPLOYEES GROUP BY DEPARTMENT_ID
ORDER BY SUM(SALARY) DESC;

DEPARTMENT_ID SALARIO TOTAL COUNT(SALARY) ROUND(AVG(SALARY),2)


------------- ------------- ------------- --------------------
80 304500 34 8955,88
50 156400 45 3475,56
90 58000 3 19333,33
100 51608 6 8601,33
60 28800 5 5760
30 24900 6 4150
110 20308 2 10154
20 19000 2 9500
70 10000 1 10000
7000 1 7000
40 6500 1 6500

DEPARTMENT_ID SALARIO TOTAL COUNT(SALARY) ROUND(AVG(SALARY),2)


------------- ------------- ------------- --------------------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID "DEPARTAMENTO",SUM(SALARY) "SALARIO


TOTAL",COUNT(SALARY),ROUND(AVG(SALARY),2) FROM EMPLOYEES GROUP BY DEPARTMENT_ID
ORDER BY SUM(SALARY) DESC;

DEPARTAMENTO SALARIO TOTAL COUNT(SALARY) ROUND(AVG(SALARY),2)


------------ ------------- ------------- --------------------
80 304500 34 8955,88
50 156400 45 3475,56
90 58000 3 19333,33
100 51608 6 8601,33
60 28800 5 5760
30 24900 6 4150
110 20308 2 10154
20 19000 2 9500
70 10000 1 10000
7000 1 7000
40 6500 1 6500

DEPARTAMENTO SALARIO TOTAL COUNT(SALARY) ROUND(AVG(SALARY),2)


------------ ------------- ------------- --------------------
10 4400 1 4400

12 filas seleccionadas.

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING COUNT(EMPLOYEE_ID) > 5 GROUP BY DEPARTMENT_ID ORDER BY COUNT(EMPLOYEE_ID) ;

DEPARTMENT_ID NUMERO DE EMPLEADOS


------------- -------------------
30 6
100 6
80 34
50 45

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING COUNT(EMPLOYEE_ID) > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS" ;

DEPARTMENT_ID NUMERO DE EMPLEADOS


------------- -------------------
30 6
100 6
80 34
50 45

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING "NUMERO DE EMPLEADOS" > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS" ;
SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES
HAVING "NUMERO DE EMPLEADOS" > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS"
*
ERROR en l�nea 1:
ORA-00904: "NUMERO DE EMPLEADOS": identificador no v�lido

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING COUNT(EMPLOYEE_ID) > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS" ;

DEPARTMENT_ID NUMERO DE EMPLEADOS


------------- -------------------
30 6
100 6
80 34
50 45

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING "NUMERO DE EMPLEADOS" > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS" ;
SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES
HAVING "NUMERO DE EMPLEADOS" > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS"

*
ERROR en l�nea 1:
ORA-00904: "NUMERO DE EMPLEADOS": identificador no v�lido

SQL> SELECT DEPARTMENT_ID,COUNT(EMPLOYEE_ID) "NUMERO DE EMPLEADOS" FROM EMPLOYEES


HAVING COUNT(EMPLOYEE_ID) > 5 GROUP BY DEPARTMENT_ID ORDER BY "NUMERO DE
EMPLEADOS" ;

DEPARTMENT_ID NUMERO DE EMPLEADOS


------------- -------------------
30 6
100 6
80 34
50 45

SQL> SPOOL OFF;

TAREA
CUANTOS PAISES TIENE CADA CONTINENTE
CUANTOS EMPLEADOS TIENEN CADA CARGO
CUANTAS PERSONAS SE HAN RETIRADOEL ULTIMO ANO
CUAL ES EL NOMBRE DEL EMPLEAO MAS JOVEN

You might also like