sub Consultas Oracle SQL
Upcoming SlideShare
Loading in...5
×
 

sub Consultas Oracle SQL

on

  • 10,495 views

 

Statistics

Views

Total Views
10,495
Views on SlideShare
10,364
Embed Views
131

Actions

Likes
1
Downloads
173
Comments
0

6 Embeds 131

http://basesdedatosues.blogspot.com 99
http://basesdedatosues.blogspot.com.es 14
http://basesdedatosues.blogspot.mx 14
http://basesdedatosues.blogspot.com.ar 2
http://www.basesdedatosues.blogspot.com 1
http://cnlmgm.blogspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    sub Consultas Oracle SQL sub Consultas Oracle SQL Presentation Transcript

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