[DB] JOIN

애이용·2021년 1월 19일
0

database

목록 보기
2/3

Special Characters

/* */		inline comments
--, #		line comments
; 			allows query chaining
', +, ||	allows string concatenation 
char()		strings without quotes
Example: SELECT * FROM users WHERE name = '+char(27) OR 1=1

Special Statements

  • Union
    두개 혹은 그 이상의 SELECT문을 결합할 때 사용

    UNION 쓸 조건

    • 각 statement문에서 select되는 column의 수가 같아야한다
    • 첫번째 SELECT문에 있는 첫번째 열의 데이터 유형은, 두(~)번째 SELECT문에 있ㄴ느 첫번째 열의 데이터 유형과 일치해야 함

  • Joins
    관련 column을 기준으로 2개 이상의 테이블에서 행을 결합하는 데 사용

    (INNER) JOIN
    Returns records that have matching values in both tables

select * from table1 INNER JOIN table2 table1.a = table2.b;
select table1.*, table2.* from table1, table2 where table.a = table2.b;


사진을 보다시피, 교집합을 말한다. 즉, 두 테이블(table1, table2)이 모두 가지고 있는 데이터만 검색된다.

LEFT (OUTER) JOIN
Returns all records from the left table, and the matched records from the right table

select * from table1 a LEFT JOIN table2 table1.a = table2.b;
select table1.*, table2.* from table1, table2 where table.a = table2.b(+);


table1(LEFT)의 모든 데이터와 table1과 table2의 중복된 값이 검색된다

RIGHT (OUTER) JOIN
Returns all records from the right table, and the matched records from the left table


FULL (OUTER) JOIN
Returns all records when there is a match in either left or right table

select * from table1 a FULL JOIN table2 table1.a = table2.b;


합집합 -> 모든 데이터가 검색됨

사진 출처

profile
로그를 남기자 〰️

0개의 댓글