본문 바로가기
공부/SQL

3. JOIN과 REGEXP(정규 표현식)

by 앙팡공기팡 2023. 3. 17.

 

 

 

JOIN

 

정의 : 서로 다른 Table에서 같은 데이터를 보여주려 할때 쓰인다.

          - 그렇기 때문에 서로 Foreign Key 관계일때 자주 쓰인다.

 

종류: inner join ,outer join,cross join

 

 

INNER JOIN

 

정의 : 서로 다른 두 테이블 중 조건이 같은 (교집합) row의 값만 불러 Select한다.

 

EX: SELECT table1.column, table2.column

         FROM table1

        JOIN table2

        On table1.id = table2.id; ( table간 column이름이 같으니 USING(id)도 가능하다. )

 

 

 

OUTER JOIN

 

정의 : 서로 다른 두 테이블 중 조건이 같은 집합의 값(INNER JOIN)뿐만 아니라

      조건이 같지 않은 테이블의 값도 NULL 처리하여 불러온다.

 

종류 : LEFT JOIN, RIGHT JOIN, FULL JOIN

 

EX: SELECT table1.column, table2.column FROM table1

       LEFT JOIN table2

       ON table2.column = table1.column

 

 

REGEXP

 

정의 : 정규 표현식으로 like에 비해 다양한 탐색 및 쿼리가 지저분해지지 않는다는 장점이 있다.

 

종류:

           ‘…’         :     문자열의 길이가 3글자 이상

           ‘AB’      :      A 혹은 B에 해당하는 문자열 탐색

           ‘[a,b,c]1’    :      a1 b1 c1에 해당하는 문자열 탐색

           ‘^하나     :      하나로 시작하는 문자열 탐색

           $’       :       둘로 끝나는 문자열 탐색

         쟁이+’     :       쟁이가 1번 이상 들어가는 문자열 탐색

        ‘\a+’      :       알파벳이 하나 이상인 문자열 탐색

        ‘^\0+’     :       한개 이상의 숫자로 시작하는 문자열 탐색

 

EX: SELECT flavor From total_selling

JOIN ingredient

USING (flavor)

WHERE total_selling.total_selling >3000 and ingredient.ingredient  REGEXP ‘^fruit+’

 

'공부 > SQL' 카테고리의 다른 글

3.24 SQL 추가 공부  (0) 2023.03.24
3-21. SQL 추가 지식 공부  (1) 2023.03.21
4. DATE 관련 구문 & round  (0) 2023.03.20
3-16 2. IF 구문과 CASE 구문  (0) 2023.03.16
3-15 1. SELECT 구문 정리  (0) 2023.03.16