본문 바로가기

데이터베이스/MySQL

SQL의 SELECT 키워드

  SELECT 키워드

▶ LIKE 키워드

지정한 패턴과 일치하는 문자열, 날짜, 시간 값을 검색합니다.

 - LIKE '데이터%'

데이터로 시작하는 문자열을 검색한다.

 - LIKE '%데이터'

데이터로 끝나는 문자열을 검색한다.

 - LIKE '%데이터%'

데이터가 포함된 문자열을 검색한다.

 - LIKE '데이터_ _ _'

데이터로 시작하는 6자 길이의 문자열을 검색한다.

 - LIKE '_ _터'

터로 끝나는 3자 길이의 문자열을 검색한다.

 

▶ JOIN 키워드 

두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는것. 사용자가 필요한 집합 결과 도출 해준다.

 

◈ JOIN 키워드의 종류

☞ INNER JOIN

교집합(특정 컬럼 기준)

두 테이블의 값 중 모두 포함된 값만 표시한다.

SELECT <select_list>
FROM TABLE A
INNER JOIN TABLEB
ON A.KEY = B.KEY;

 

ON 이라는건, 선택한 테이블 내에서 조건을 걸어 검색하는 것 이다.

논리연산자 AND로 조건을 추가할 수있다. AND조건과 WHERE의 차이를 알아야 한다.

 

☞ OUTER JOIN (LEFTJOIN , RIGHT JOIN)

한쪽 집합 모두 출력 (특정 컬럼 기준)

SELECT <select_list>
FROM TABLE A
LEFT JOIN TABLEB
ON A.KEY = B.KEY;

 

☞ LEFT JOIN (RIGHT JOIN)차집합

NULL값을 조회 하고 싶은 경우 IS NULL 을 사용한다. 반대로 NULL값이 아닌 값을 조회 하고 싶은 경우 IS NOT NULL을 사용한다. IS NOT NULL을 입력한 경우 INNER JOIN과 같은 결과를 얻을 수 있다.

 

 

SELECT <select_list>
FROM TABLE A
LEFT JOIN TABLEB
ON A.KEY = B.KEY
WHERE B.KEY IS NULL;

 

 

 

☞ SELF JOIN

동일 집합끼리 특정 컬럼 기준으로 집합 출력

 

 

SELECT <select_list>
FROM TABLE A ASA1
LEFT JOIN TABLEA ASA2
ONA1.KEY = A2.KEY
ORDER BY A1;

 

CROSS JOIN

두 집합의 곱집합 출력

 

NATURAL JOIN

특정 집합의 같은 이름을 가진 컬럼 간의 조인집합을 출력

 

'데이터베이스 > MySQL' 카테고리의 다른 글

서브쿼리(Sub Query)  (0) 2020.04.01
JOIN 실습  (0) 2020.03.31
SQL 연산자  (0) 2020.03.31
SQL 내장함수  (0) 2020.03.31
SQL 집계함수  (0) 2020.03.31