UNION
λ°μ΄ν°λ² μ΄μ€μμ
UNIONμ λ κ° μ΄μμ SELECT λ¬Έμ κ²°κ³Ό μ§ν©μ νλλ‘ κ²°ν©νλ λ° μ¬μ©λ©λλ€. UNIONμ μ€λ³΅λ νμ μ κ±°νκ³ κ²°κ³Ό μ§ν©μμ μ μΌν νλ§ λ°ννλ©°, UNION ALLμ μ€λ³΅λ νλ λͺ¨λ ν¬ν¨ν©λλ€.Β
1. λ¬Έλ²
column1,column2: λ°ννλ €λ μ΄μ μ΄λ¦μ λλ€.
table1: λ°μ΄ν°λ₯Ό κ°μ Έμ¬ ν μ΄λΈμ μ΄λ¦μ λλ€.
WHEREμ μ μ ν μ¬νμ λλ€. 쑰건μμ΄ λμ΄λλ€λ©΄, UNIONμ κ²°κ³Όμ ν¬ν¨λλ νμ νν°λ§ν©λλ€.
UNIONν€μλλ λ κ° μ΄μμ SELECT λ¬Έμ κ²°κ³Όλ₯Ό ν©μΉλ λ° μ¬μ©λ©λλ€.
ALLν€μλλ μ€λ³΅λ νλ λͺ¨λ λ°νν©λλ€. μλ΅νλ©΄ μ€λ³΅λ νμ μ κ±°λ©λλ€.
Β
Β
μμ 1
μ μμ λ
studentsμ teachers ν
μ΄λΈμμ nameκ³Ό age μ΄μ μ ννκ³ , λ κ²°κ³Ό μ§ν©μ UNIONμΌλ‘ κ²°ν©ν©λλ€. μ΄λ₯Ό ν΅ν΄, νμκ³Ό κ΅μ¬μ μ΄λ¦κ³Ό λμ΄λ₯Ό λͺ¨λ λ°νν©λλ€. μ€λ³΅λ νμ μ κ±°λ©λλ€.Β
Β
μμ 2
μ μμ λ
studentsμ teachers ν
μ΄λΈμμ nameκ³Ό age μ΄μ μ ννκ³ , λ κ²°κ³Ό μ§ν©μ UNION ALLλ‘ κ²°ν©ν©λλ€. μ΄λ₯Ό ν΅ν΄, νμκ³Ό κ΅μ¬μ μ΄λ¦κ³Ό λμ΄λ₯Ό λͺ¨λ λ°νν©λλ€. μ€λ³΅λ νλ λͺ¨λ ν¬ν¨λ©λλ€.Β
Β
Β
Β
Β
2. μ£Όμμ¬ν
UNIONκ³ΌUNION ALLμ κ°κ° 2κ° μ΄μμSELECTλ¬Έμ κ²°κ³Ό μ§ν©μ νλλ‘ κ²°ν©ν©λλ€. μ΄λ, κ°SELECTλ¬Έμ μ΄ μμ λ°μ΄ν° μ νμ΄ λμΌν΄μΌ ν©λλ€.
UNIONκ³ΌUNION ALLμ κ²°κ³Ό μ§ν©μ μ΄ μ΄λ¦μ 첫 λ²μ§ΈSELECTλ¬Έμ μ΄ μ΄λ¦μΌλ‘ μ¬μ©ν©λλ€.
UNIONμ κ²°κ³Ό μ§ν©μμ μ€λ³΅λ νμ μ κ±°ν©λλ€.
UNION ALLμ μ€λ³΅λ νλ λͺ¨λ ν¬ν¨ν©λλ€.
UNIONκ³ΌUNION ALLμ μ±λ₯μ΄ μ’μ§ μμ μ μμΌλ―λ‘, νμν κ²½μ° λ체 λ°©λ²μ κ³ λ €ν΄μΌ ν©λλ€.
Β
Β
μ μ¬ν ν¨μ
MySQLμμλ
MINUSλ INTERSECTμ κ°μ μ§ν© μ°μ°μλ₯Ό μ§μνμ§ μμ΅λλ€. λμ , λ€λ₯Έ λ°©λ²μ μ¬μ©νμ¬ λμΌν κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.MINUS λμ
MINUSλ 첫 λ²μ§Έ SELECT λ¬Έμλ ν¬ν¨λμ§λ§ λ λ²μ§Έ SELECT λ¬Έμλ ν¬ν¨λμ§ μλ νμ λ°νν©λλ€.μ μμ μμ
EXCEPT λμ NOT INμ μ¬μ©νμ¬ λμΌν κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.Β
INTERSECT λμ
INTERSECTλ λ κ°μ SELECT λ¬Έμ λͺ¨λ ν¬ν¨λλ νμ λ°νν©λλ€.μ μμ μμ
INTERSECT λμ INNER JOINμ μ¬μ©νμ¬ λμΌν κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.μ΄ λ°©λ²μ μΌλ°μ μΌλ‘
INNER JOINμ΄ INTERSECTλ³΄λ€ λ ν¨μ¨μ μ΄κΈ° λλ¬Έμ λ μ νΈλ©λλ€.