반응형
데이터 조건 반환
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 컬럼명 조건식;
관계 연산자를 활용하여 대소비교를 하거나 AND
나 OR
를 이용해 조건을 여러개 연결할 수 있음
예시) 1990년도 이후에 출생한 키가 185 이상인 사람의 아이디와 이름을 반환
SELECT id, name FROM exampleTbl WHERE (birthYear > 1990) AND (height >= 185);
BETWEEN
~ AND
를 이용해 범위지정(이상 ~ 이하) 가능
예시) 1990년도 이후 2000년도 이전 출생한 사람들의 아이디와 이름 반환
SELECT id, name FROM exampleTbl WHERE birthYear BETWEEN 1990 AND 2000;
IN
을 이용해 특정컬럼안의 데이터를 선택해 조회
예시) 서울과 제주가 주소인 사람들의 아이디와 이름 반환
SELECT id, name FROM exampleTbl WHERE addr IN ('서울', '제주');
LIKE
를 이용해 %(0글자부터 글자제한 없음), _(한글자)로 매치되는 문자 혹은 문자열을 조회
예시) 이름이 '김'으로 시작하는 사람들의 아이디와 이름 반환
SELECT id, name FROM exampleTbl WHERE name LIKE '김%';
서브 쿼리( 하위 쿼리 )
1차적으로 얻은 결과에서 다시 중첩으로 반환할 결과를 찾는 구문
예시) 제주에 사는 사람들 중 가장 키가 큰 사람보다, 키가 더 큰 타 지역 사람들의 아이디와 이름 반환
SELECT id, name FROM exampleTbl WHERE height >
(SELECT max(height) FROM exampleTbl WHERE addr = '제주');
하위 쿼리문에서 반환하는 값이 여러 개일 경우, 시스템은 기준으로 잡을 값을 잡아야할지 알지 못해 에러 발생
ALL
이나 ANY
를 이용
ALL
: AND와 같은 의미, 조건1 and 조건2..
ANY
: OR과 같은 의미, 조건1 or 조건2..
예시) 제주에 사는 사람들보다 키가 큰 타지역 사람들의 아이디와 이름 반환
SELECT id, name FROM exampleTbl WHERE height >
ALL (SELECT height FROM exampleTbl WHERE addr = '제주');
'SQL > MySQL' 카테고리의 다른 글
[MySQL] 프로시저 매개변수 값 입력 (0) | 2021.07.21 |
---|---|
[MySQL] 프로시저(Procedure) (0) | 2021.07.20 |
[MySQL] 기초 문법 (0) | 2021.07.18 |
[MySQL] JOIN 구문 (0) | 2021.07.17 |
[MySQL] 사용자 관리하기 (0) | 2021.07.17 |