Advertisement
lucasmouraahere

Módulo 07

Sep 4th, 2019
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.24 KB | None | 0 0
  1. -- UNION IGNORA VALORES DUPLICADOS
  2.  employee_id, job_id
  3. FROM hr.employees
  4. UNION
  5. SELECT employee_id, job_id
  6. FROM hr.job_history;
  7.  
  8. -- UNION ALL NÃO ORDENA E NÃO IGNORA VALORES DUPLICADOS
  9. SELECT employee_id, job_id, department_id
  10. FROM hr.employees
  11. UNION ALL
  12. SELECT employee_id, job_id, department_id
  13. FROM hr.job_history
  14. ORDER BY employee_id;
  15.  
  16. -- INTERSECT RETORNA O QUE ESTÁ NAS DUAS TAEBLAS
  17. SELECT employee_id, job_id
  18. FROM hr.employees
  19. INTERSECT
  20. SELECT employee_id, job_id
  21. FROM hr.job_history;
  22.  
  23. -- MINUS RETORNA O QUE NÃO ESTÁ NAS DUAS TABELAS
  24. SELECT employee_id, job_id
  25. FROM hr.employees
  26. MINUS
  27. SELECT employee_id, job_id
  28. FROM hr.job_history;
  29.  
  30. --EXEMPLO CARACTER DE SUBSTITUIÇÃO
  31.  
  32. SELECT department_id, NULL location, hire_date
  33. FROM hr.employees
  34. UNION
  35. SELECT department_id, location_id, TO_DATE(NULL)
  36. FROM hr.departments;
  37.  
  38. --EXEMPLO CONTROLANDO AS LINHAS
  39. --COLUMN a_dummy NOPRINT
  40. SELECT 'SQL' AS "MEU SONHO", 3 a_dummy
  41. FROM DUAL
  42. UNION
  43. SELECT 'EU GOSTARIA DE ENSINAR', 1 a_dummy
  44. FROM DUAL
  45. UNION
  46. SELECT 'PARA TODO MUNDO', 2 a_dummy
  47. FROM DUAL
  48. ORDER BY a_dummy;
  49.  
  50. /* Crie um relatório com uma lista de países nos quais não há departamentos.
  51. Exiba o ID e o nome dos países. Use os operadores de conjunto para criar esse relatório.*/
  52.  
  53. SELECT country_id, country_name
  54. FROM hr.countries
  55. MINUS
  56. SELECT l.country_id, c.country_name
  57. FROM hr.locations l, hr.countries c
  58. WHERE l.country_id = c.country_id;
  59.  
  60. /* Produza uma lista de cargos dos departamentos 10, 50 e 20, nessa ordem.
  61. Exiba o ID de cargo e o ID de departamento usando operadores de conjunto.*/
  62.  
  63. SELECT job_id, department_id, 1
  64. FROM hr.employees
  65. WHERE department_id = 10
  66. UNION
  67. SELECT job_id, department_id, 2
  68. FROM hr.employees
  69. WHERE department_id = 50
  70. UNION
  71. SELECT job_id, department_id, 3
  72. FROM hr.employees
  73. WHERE department_id = 20
  74. ORDER BY 3;
  75.  
  76. /* Crie uma query com as seguintes especificações:
  77. Sobrenome e ID do departamento de todos os funcionários da tabela EMPLOYEES, mesmo que não pertençam a um departamento
  78. ID e nome de todos os departamentos da tabela DEPARTMENTS, mesmo que não tenham funcionários*/
  79.  
  80.  
  81. SELECT last_name, department_id, NULL
  82. FROM hr.employees
  83. UNION
  84. SELECT NULL name, department_id, department_name
  85. FROM hr.departments;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement