이 테이블들을 토대로 예제 실습 진행


UNION
- 여러 개의 SQL문을 합쳐서 하나의 SQL문으로 만들어주는 방법(단, 컬럼의 개수가 같아야 함 -> 단순히 컬럼의 개수를 맞췄다고 해서 원하는 값이 안 나올 수 있음)
- UNION: 중복된 값을 제거하여 알려줌, UNION ALL: 중복된 값도 모두 보여줌
SELECT column1, column2, ... from tableA UNION | UNION ALL SELECT column1, column2, .. FROM tableB;예제 1 - UNION
예제 2 - UNION ALL
JOIN
- 두 개 이상의 테이블을 결합하는 것
INNER JOIN
- 두 개의 테이블에서 공통된 요소들을 통해 결합하는 조인방식
SELECT column1, column2, ... from tableA INNER JOIN tableB ON tableA.column = tableB.column WHERE condition;예제
LEFT JOIN
- 두 개의 테이블에서 공통영역을 포함해 왼쪽 테이블의 다른 데이터를 포함하는 조인방식
SELECT column1, column2, ... from tableA LEFT JOIN tableB ON tableA.column = tableB.column WHERE condition;예제
RIGHT JOIN
- 두 개의 테이블에서 공통영역을 포함해 오른쪽 테이블의 다른 데이터를 포함하는 조인방식
SELECT column1, column2, ... from tableA RIGHT JOIN tableB ON tableA.column = tableB.column WHERE condition;
FULL OUTER JOIN
- 두 개의 테이블에서 공통영역을 포함해 양쪽 테이블의 다른 영역을 모두 포함하는 조인방식
SELECT column1, column2, ... from tableA FULL OUTER JOIN tableB ON tableA.column = tableB.column WHERE condition;하지만, MySQL에서는 FULL JOIN을 지원하지 않으므로 아래의 쿼리로 같은 결과를 만들 수 있음
SELECT column1, column2, ... from tableA LEFT JOIN tableB ON tableA.column = tableB.column WHERE condition UNION SELECT column1, column2, ... from tableA RIGHT JOIN tableB ON tableA.column = tableB.column WHERE condition;예제
SELF JOIN
SELECT column1, column2, ... FROM tableA, tableB, ... WHERE condition;예제 1
예제 2
CONCAT, ALIAS, DISTINCT, LIMIT
CONCAT
- 여러 문자열을 하나로 합치거나 연결
SELECT CONCAT('string1', 'string2', ...);예제
ALIAS
- 컬럼이나 테이블 이름에 별칭 생성(as는 생략가능)
SELECT columns as alias FROM tablename;예제 1
예제 2
DISTINCT
- 검색한 결과의 중복 제거
SELECT DISTINCT column1, column2, .... FROM tablename;예제
LIMIT
- 검색결과를 정렬된 순으로 주어진 숫자만큼만 조회
SELECT column1, column2, .... FROM tablename WHERE condition LIMIT number;예제