DB/Mysql SELECT WHERE절
WHERE절
데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는 데 사용
SELECT 필드1,필드2필드N... FROM 테이블명 WHERE 조건식;
WHRER 조건식이 TRUE일때 출력.
AND , OR , NOT연산자
AND :둘다 TRUE이면 TRUE
OR : 둘중 하나만 TRUE면 TRUE
NOT : TRUE 를 FALSE로 바꾼다.
SELECT * FROM EMP WHERE DEPTNO =10;
=> DEPTNO =10 인것만 출력
SELECT * FROM EMP WHERE NOT DEPTNO =10;
=> DEPTNO = 10이 아닌것만 출력
SELECT * FROM EMP WHERE DEPTNO =10 AND ENAME LIKE 'C%';
=> DEPTNO =10이고 이름이 C로 시작한사람만 출력
SELECT * FROM EMP WHERE DEPTNO =10 OR DEPTNO =20;
=> DEPTNO =10 또는 20 인것만 출력
IN 연산자
특정 열에 해당되는 데이터 값을 여러개 조회하고자 할 경우 사용
OR연산자와 같은 기능을 한다.
다음 COMM 에 300,500,1400을 출력하라.
SELECT * FROM EMP WHERE COMM IN(300,500,1400);

다음 COMM 에 300,500,1400 아닌것을 출력하라.
SELECT * FROM EMP WHERE COMM NOT IN(300,500,1400);

BETWEEN A AND B 연산자
특정 열의 최소, 최대 범위를 지정해 해당 범위 내의 데이터만 조회한다.
AND 연산자와 같은 기능을 한다.
다음 SAL에서 1500이상 3000이하를 출력하라.
SELECT * FROM EMP WHERE SAL BETWEEN 1500 AND 3000;

LIKE 연산자
문자열 일부가 포한된 데이터조회
_: 어떤 값이든 상관없이 한 개의 문자 데이터
%: 길이 상관없이 모든 문자 데이터
LIKE 'S%' : 대문자 S로 시작하는 모든 데이터 조회
LIKE '_S%' : 두번째 문자가 S인 데이터 조회
이름이 S로 시작하는 사람을 조회
SELECT * FROM EMP WHERE ENAME LIKE 'S%';

위치 상관없이 이름이 중에 A가 들어간 사람을 조회
SELECT * FROM EMP WHERE ENAME LIKE '%A%';

이름이 S로 끝나는 사람을 조회
SELECT * FROM EMP WHERE ENAME LIKE '%S';

IS NULL
NULL을 출력하려면 어떤 방식으로 해야하는가
NULL 값이 없으므로 = 을 사용할수없다.
그래서 우린 IS를 사용하는것이다.
NULL이 있는 값만 출력해보자
SELECT * FROM EMP WHERE COMM IS NULL;

NULL이 아닌 다른 값을 출혁할 경우 IS NOT NULL 을 써주면된다.
DISTINCT
중복된 데이터를 제외한후 데이터 조회
SELECT DISTINCT JOB FROM EMP ;
