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글자 이상
‘AㅣB’ : 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 |