Tecnologia
/* Sentencia Select */
SELECT * FROM emp;
SELECT empno, ename, sal, job FROM emp;
SELECT ename, sal FROM emp WHERE empno = 7782;
/* Estructura de Tabla */
DESCRIBE emp;
DESC emp;
/* Operadores de Comparación */
SELECT ename, sal, comm FROM emp WHERE sal =1100 AND job='CLERK';
SELECT ename, job, sal FROM emp WHERE sal >=1100 OR job='CLERK';
SELECT ename, jobFROM emp WHERE job NOT IN ('CLERK', 'MANAGER', 'ANALYST');
/* Order By */
SELECT empno, ename, sal *12 AS salario
FROM emp ORDER BY ename;
SELECT empno, ename, sal *12 AS salario
FROM emp ORDER BY salario DESC;
SELECT empno, ename, sal *12 AS salario
FROM emp ORDER BY salario DESC,ename;
/* Alias */
SELECT A.empno, A.ename FROM emp A ORDER BYA.ename DESC;
SELECT a.empno as codigo, a.ename as nombre FROM emp A ORDER BY a.sal DESC;
SELECT a.empno codigo, a.ename nombre FROM emp A ORDER BY sal DESC;
Ejercicios Propuestos
Seleccionar el empleado con código 7499
Seleccionar los empleados con cargo CLERK
Seleccionar los empleados que trabajan en el departamento 30
Seleccionar todos los departamentos ordenamos por ciudad
Seleccionar a los empleados cuyo jefe es 7839, mostrar los resultados ordenados por departamento y por fecha de ingreso
Seleccionar a los empleados que ganan más de 2000 mostrados por su fecha de ingreso del más reciente al más antiguo
Seleccionar a los empleados que reciben comisión ordenados por su salario del que gana mas al que gana menos incluyendo la comisión
/* Funciones deCaracter */
SELECT LOWER(ename) FROM emp;
SELECT INITCAP(dname) FROM dept;
SELECT LENGTH(loc) FROM dept;
SELECT LPAD(sal,10,'*') FROM emp;
SELECT INSTR('Amigos','g') FROM dual;
/* Funciones Numéricas */
SELECT ROUND(sal/3,2) FROM emp;
SELECT TRUNC(sal/3,2) FROM emp;
/* Funciones de Fecha */
SELECT SYSDATE FROM dual;
SELECT ADD_MONTHS(SYSDATE,4) AGREGAR_MES FROM dual;
SELECTNEXT_DAY(SYSDATE,1) AGREGAR_SEMANA FROM dual;
SELECT LAST_DAY(SYSDATE) ULTIMO_DIA FROM dual;
/* Funciones de Conversión */
SELECT TO_CHAR(sal,'$009,999.99') FROM emp;
SELECT TO_CHAR(hiredate,'dd/mm/yyyy') FROM emp;
SELECT TO_CHAR(hiredate,'month') FROM emp;
SELECT TO_CHAR(hiredate,'DAY') FROM emp;
/* Función NVL */
SELECT NVL(comm,0) FROM emp;
SELECT NVL(hiredate,SYSDATE) FROM emp;
SELECTNVL(job,'no job') FROM emp;
Ejercicios Propuestos
Seleccionar los empleados con cargo SALESMAN mostrando sus nombres solo con la inicial en mayúscula
Seleccionar los empleados que trabajan en el departamento 30 mostrando sus salarios con decimales y separación de miles, completando 10 caracteres con *
Seleccionar a los empleados cuyo jefe es 7698, mostrar sus salarios y comisión de notener comisión mostrar las palabras SIN COMISION
Seleccionar a los empleados que ganan menos de 2000 mostrados solo el mes de su fecha de ingreso
Seleccionar a los empleados que no están en el departamento 20 y 30 mostrando la cantidad de meses que vienen trabajando hasta la actualidad
/* Joins */
SELECT a.ename, a.job, a.sal, b.dname FROM emp a, dept b WHERE a.deptno = b.deptno;SELECT a.* FROM emp a, salgrade b WHERE a.sal BETWEEN b.losal and b.hisal;
SELECT NVL(a.ename,'') ename,NVL(a.sal,0.00) sal,a.deptno,NVL(b.dname,'NULL') FROM emp a,dept b WHERE a.deptno = b.deptno (+);
SELECT NVL(a.ename,'') ename,NVL(a.sal,0.00) sal,NVL(a.deptno,0) deptno,NVL(b.dname,'NULL') FROM emp a,dept b WHERE a.deptno (+) = b.deptno;
SELECT a.ename empleado,a.sal salario,a.jobocupacion,m.ename manager FROM emp a,emp m WHERE a.mgr = m.empno and a.empno=7369;
/* Funciones de Grupo */
SELECT deptno,AVG(sal) FROM emp GROUP BY deptno;
SELECT deptno,job,sum(sal) FROM emp GROUP BY deptno, job;
SELECT deptno,job,sum(sal) FROM emp GROUP BY ROLLUP(deptno,job);
SELECT deptno,job,sum(sal) FROM emp GROUP BY CUBE (deptno, job);
/* Having */
SELECT deptno, job, sum(sal) FROM emp...
Regístrate para leer el documento completo.