SELECT *
FROM Employee
WHERE salary >= 500;
SELECT *
FROM employee
WHERE salary != 500;
salary값이 500이 아닌 것들을 추출
SELECT *
FROM employee
WHERE hireDate >= 2007/01/01;
위와 같이 적용이 안된 것을 볼 수 있다.
SELECT *
FROM employee
WHERE hireDate >= '2007/01/01';
날짜를 '
로 감싸야 정상적으로 출력된다.
조건을 여러개 조합해서 결과를 얻어야 할 경우에 사용한다.
SELECT *
FROM employee
WHERE deptNo = 10 AND job = '과장';
SELECT *
FROM employee
WHERE deptNo = 10 OR job = '과장';
SELECT *
FROM employee
WHERE NOT deptNo = 10;
SELECT *
FROM employee
WHERE deptNo != 10;
SELECT *
FROM employee
WHERE salary >= 400 AND salary <=500;
SELECT *
FROM employee
WHERE salary >= 400 OR salary <=500;
: 논리연산자와 비교연산자를 합친 기능을 수행한다.
SELECT *
FROM employee
WHERE salary BETWEEN 400 AND 500;
SELECT *
FROM employee
WHERE NOT salary BETWEEN 400 AND 500;
SELECT *
FROM employee
WHERE hireDate BETWEEN '2004/01/01' AND '2007/12/31';
SELECT *
FROM employee
WHERE commission = 80 OR commission = 100 OR commission = 200;
SELECT *
FROM employee
WHERE commission IN (80, 100, 200);
두 결과가 동일하게 나오는 것을 알 수 있다.
IN을 사용할 경우 간결하게 표현가능하다.
칼럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능하도록 하는 연산자이다.
검색하고자 하는 값을 정확히 모를 경우에 검색할 수 있도록 하기위해서 와일드 문자
(%
, _
)와 같이 사용한다.
SELECT *
FROM employee
WHERE empName LIKE '이%';
위와 같이 '이'씨 성을 가진 사람들이 출력된다.
Recap: 데이터 추가하기 Query
INSERT employee(empNo, empName, deptNo) VALUES(1016, '이 정', 40);
위와 같이 '이 정'도 추출된다.
SELECT *
FROM employee
WHERE empName LIKE '이__';
SELECT *
FROM employee
WHERE empName LIKE '%동%';
SELECT *
FROM employee
WHERE empName LIKE '%장%';
장
앞에 문자가 없어도, 장
뒤에 문자가 없어도 출력되는 것을 볼 수 있다.
SELECT *
FROM employee
WHERE empName LIKE '_동_';
SELECT *
FROM employee
WHERE empName NOT LIKE '%장%';
SELECT *
FROM employee
WHERE empName NOT LIKE '_동_';
SELECT *
FROM employee
WHERE manager = NULL;
모르는 값을 NULL으로 추출할 수 없다
SELECT *
FROM employee
WHERE manager IS NULL;
IS NULL
으로 추출한다.
SELECT *
FROM employee
WHERE commission IS NOT NULL;
강의: ms sql 2014 제대로 배우기 1