Material del curso de SQL de la UNACAR 2020
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # Operadores de conjuntos
  2. En sql se pueden tomar dos conjuntos de datos y hacer operaciones de conjuntos como union, interseccion o resta, para ello se utiliza loq ue se conoce como operadores de conjunto y existen varios de ellos. Haremos una revision general.
  3. ![](assets/20220105_030256_1.png)
  4. ## UNION y UNION ALL
  5. Esete operador permite unir o sumar dos conjuntos de datos.
  6. *Sintaxis*
  7. ```
  8. SELECT campo from tabla
  9. UNION
  10. SELECT otrocampo from otratabla
  11. ```
  12. Esta unión se puede hacer de dos tablas diferentes, con la única condición de que el número de campos y tipos de datos sean compatibles entre un SELECT y el otro.
  13. ![](assets/20220116_173701_Circle1.png)
  14. En las operaciones de conjuntos equivale, el ejemplo anterior equivale a
  15. A ∪ B.
  16. ### Implementación
  17. *Sintaxis*
  18. ```
  19. select id from categorias c
  20. union
  21. select id from productos p
  22. ```
  23. ![](assets/20220116_173735_word-image-416.png)
  24. Además, se puede hacer una diferenciación entre UNION y un UNION ALL permitiendo o no duplicados que además influye en el tiempo o número de registros que regresa cada uno de ellos, pero en general se trata de la unión de conjuntos.
  25. ## INTERSECT
  26. Toma dos consultas de entrada (mismo número de campos y tipos de datos compatibles) y genera una salida con los registros que están en ambas entradas.
  27. En las operaciones de conjuntos tradicionales, la intersección de A y B se denota como A ∩ B y se codifica en términos generales como.
  28. ![](assets/20220116_174156_word-image-419.png)
  29. *Sintaxis*
  30. ```
  31. SELECT campo from tabla
  32. INTERSECT
  33. SELECT otrocampo from otratabla
  34. ```
  35. En mysql no se encuentra la instruccion except en algunos otros dbms se utiliza minus en mysql se suele usar para esta tarea NOT IN, NOT EXIST o inluso con un LEFT OUTER JOIN
  36. *Sintaxis*
  37. ```
  38. SELECT campo from tabla
  39. WHERE campo IN
  40. (SELECT otrocampo from otratabla)
  41. ```
  42. ### Implementación
  43. *Sintaxis*
  44. ```
  45. select id from tabla1
  46. where id in (select id from tabla2)
  47. ```
  48. # EXCEPT
  49. Toma dos consultas y genera una salida con los registros que se encuentren en la primera pero que no se encuentren en la segunda.
  50. Si UNION equivale a una suma de conjuntos, EXCEPT equivaldría a una resta en terminos generales se escribe como.
  51. ![](assets/20220116_174115_Circle2.png)
  52. *Sintaxis*
  53. ```
  54. SELECT campo from tabla
  55. EXCEPT
  56. SELECT otrocampo from otratabla
  57. ```
  58. En mysql no se encuentra la instruccion except en algunos otros dbms se utiliza minus en mysql se suele usar para esta tarea NOT IN, NOT EXIST o inluso con un LEFT OUTER JOIN
  59. *Sintaxis*
  60. ```
  61. SELECT campo from tabla
  62. WHERE campo NOT IN
  63. (SELECT otrocampo from otratabla)
  64. ```