Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Utilizando<br />Subconsultas<br />SQL FUNDAMENTALS I<br />OCA Oracle Database 11gCAP-8<br />
Subconsulta<br />Es una consulta anidad, es disenar y ejecutar otra consulta SQL dentro de una primer consulta.<br />Parte...
SELECT sysdate Hoy, <br />(selectcount(*) fromdepartments) Dept_count, <br />(selectcount(*) fromemployees) Emp_Count<br /...
Ejercicio<br />Escriba una consulta que identifique el mayor salario de un empleado para un pais, utilice subconsulta en l...
Ejercicio<br />Mostrar todos los departamentos que tienen actualmente uno o mas empleados asignados.<br />Selectdepartment...
Puede utilizar los siguientes operadores<br />IN<br />NOT IN<br />ANY<br />ALL<br />Se recomienda asegurarse que las subco...
Mostrar el salario promedio de un empleado  por cada pais<br />Selectavg(salary), country_idfrom (selectsalary, department...
Sub consultas en DML<br />Insertintosales_hist (select * from sales where date>sysdate);<br />Deletefromdepartmentswherede...
ejercicio<br />Escriba una consulta que identifique todos los empleados que trabajan en un departamento ubicado en reino u...
UNA FILA Y MULTIPLES FILAS<br />Las consultas SINGLE ROW, devuelven una sola tupla, las consultas escalar devuelven una so...
SELECT last_namefromemployees WHERE salary < (selectavg(salary) fromemployees);<br />SELECT p.last_name, p.department_id F...
EJECUTE:<br />Selectlast_namefromemployeeswheresalary > (selectsalaryfromemployeeswherelast_name=‘Tobias’) orderbylast_nam...
EJERCICIO<br />Encuentre el puesto que tiene el mayor salario promedio<br />SELECT job_title<br />FROM jobs NATURAL JOIN  ...
EJERCICIO<br />Realice una consulta que muestre los apellidos de los empleados que trabajan en un departamento dado, el no...
Hoy instalare y digitare muchas frases del programa tecleo, pues mis compañeros necesitan mi ayuda y colaboración.<br />
Upcoming SlideShare
Loading in …5
×

sub Consultas Oracle SQL

12,517 views

Published on

Published in: Education
  • Be the first to comment

sub Consultas Oracle SQL

  1. 1. Utilizando<br />Subconsultas<br />SQL FUNDAMENTALS I<br />OCA Oracle Database 11gCAP-8<br />
  2. 2. Subconsulta<br />Es una consulta anidad, es disenar y ejecutar otra consulta SQL dentro de una primer consulta.<br />Partes donde podemos colocar sub consultas:<br />COLUMNA DE SELECT<br />FROM<br />WHERE<br />HAVING<br />En el Where esta limitado a 255 subconsultasanidadadas.<br />
  3. 3. SELECT sysdate Hoy, <br />(selectcount(*) fromdepartments) Dept_count, <br />(selectcount(*) fromemployees) Emp_Count<br />FROM dual;<br />SELECT last_namefromemployees WHERE employee_id in (selectmanager_idfromemployees);<br />
  4. 4. Ejercicio<br />Escriba una consulta que identifique el mayor salario de un empleado para un pais, utilice subconsulta en la clausula FROM<br />Selectmax(salary), country_idfrom<br />( Selectsalary, department_id, location_id, country_idfromemployees natural joindepartments natural joinlocations)<br />Groupbycountry_id<br />
  5. 5. Ejercicio<br />Mostrar todos los departamentos que tienen actualmente uno o mas empleados asignados.<br />Selectdepartment_namefromdepartmentswheredepartment_id in (selectdistinctdepartment_idfromemployees);<br />Selectdepartment_namefromdepartments d innerjoinemployees e one.department_id=d.department_idgroupbydepartment_name<br />
  6. 6. Puede utilizar los siguientes operadores<br />IN<br />NOT IN<br />ANY<br />ALL<br />Se recomienda asegurarse que las subconsultas no devuelvan valores nulos.<br />Recuerde que el distinct NO QUITA LOS VALORES NULOS<br />
  7. 7. Mostrar el salario promedio de un empleado por cada pais<br />Selectavg(salary), country_idfrom (selectsalary, department_id, location_id, country_idfromemployees natural joindepartments natural joinlocations) GROUP BY country_id;<br />Reescriba esta consulta sin utilizar anidamiento…<br />
  8. 8. Sub consultas en DML<br />Insertintosales_hist (select * from sales where date>sysdate);<br />Deletefromdepartmentswheredepartment_idnot in (selectdepartment_idfromemployees)<br />Una subconsulta puede ser usada para seleccionar filas para insercion, pero NO en la clausula VALUES de insert<br />
  9. 9. ejercicio<br />Escriba una consulta que identifique todos los empleados que trabajan en un departamento ubicado en reino unido. (UnitedKingdom)<br />Escriba una consulta para identificar todos los empleados que ganan mas que el promedio, y que trabajan en departamentos cuyo nombre inicia con “IT”<br />
  10. 10. UNA FILA Y MULTIPLES FILAS<br />Las consultas SINGLE ROW, devuelven una sola tupla, las consultas escalar devuelven una sola tupla y una sola columna<br />Operadores para consultas SINGLE ROW<br />= ><br />>= <<br /><= <><br />!=<br />Operadores de multiplestuplas<br />IN, NOT IN, ANY, ALL<br />
  11. 11. SELECT last_namefromemployees WHERE salary < (selectavg(salary) fromemployees);<br />SELECT p.last_name, p.department_id FROM employees p wherep.salary < (selectavg(s.salary) fromemployees s wheres.department_id=p.department_id);<br />
  12. 12. EJECUTE:<br />Selectlast_namefromemployeeswheresalary > (selectsalaryfromemployeeswherelast_name=‘Tobias’) orderbylast_name;<br />Selectlast_namefromemployeeswheresalary > (selectsalaryfromemployeeswherelast_name=‘Taylor’) orderbylast_name;<br />Selectlast_namefromemployeeswheresalary > ALL (selectsalaryfromemployeeswherelast_name=‘Taylor’) orderbylast_name;<br />
  13. 13. EJERCICIO<br />Encuentre el puesto que tiene el mayor salario promedio<br />SELECT job_title<br />FROM jobs NATURAL JOIN employees<br />GROUP BY job_title<br />HAVING avg(salary) = <br />(Selectmax(avg(salary)) fromemployeesgroupbyjob_id) ;<br />
  14. 14. EJERCICIO<br />Realice una consulta que muestre los apellidos de los empleados que trabajan en un departamento dado, el nombre del departamento será solicitado al usuario.<br />Selectlast_namefromemployeeswheredepartment_id = (selectdepartment_idfromdepartmentswheredepartment_name = ‘%&depto%’) ;<br />
  15. 15. Hoy instalare y digitare muchas frases del programa tecleo, pues mis compañeros necesitan mi ayuda y colaboración.<br />

×