--월급이 10000~20000 사이인 데이터 출력
SELECT * FROM employees WHERE salary BETWEEN 10000 AND 20000;
SELECT * FROM employees WHERE salary>=10000 AND salary>=20000;
--salary가 10000에서 20000사이의 값이 아닌 경우에만 데이타 출력
SELECT * FROM employees WHERE salary NOT BETWEEN 10000 AND 20000;
--입사일이 07/01/01 이후인 데이터 출력
SELECT * FROM employees WHERE hire_date>='07/01/01';
--매니저 아이디가 100,122,123인 데이터 출력
SELECT * FROM employees WHERE manager_id IN (100,122,123);
SELECT * FROM employees WHERE manager_id=100 OR manager_id=122 OR manager_id=123;
--Manager_id 가 100, 102,108, 114가 아닌 데이타를 모두 출력하시오
SELECT * FROM employees WHERE manager_id NOT IN (100,102,108,114);
--커미션이 널값이 아닌 데이타의 갯수를 구하라
SELECT COUNT(*) FROM employees WHERE commission_pct IS NOT NULL;
--커미션이 널값인 데이타의 갯수를 구하라
SELECT COUNT(*) FROM employees WHERE commission_pct IS NULL;
--First_name에 a가 포함되어 있는 경우 first_name 과 last_name을 출력
SELECT first_name, last_name FROM employees WHERE first_name LIKE '%a%' OR first_name LIKE '%A%';
SELECT first_name, last_name FROM employees WHERE UPPER(first_name) LIKE '%A%';
SELECT first_name, last_name FROM employees WHERE LOWER(first_name) LIKE '%a%';
-- Lower(컬럼명) : 컬럼값을 모두 소문자로 변환
-- Upper(컬럼명) : 컬럼값을 모두 대문자로 변환
--First_name 의 첫글자나 두번째 글자에 a가 있는 경우 first_name만 출력
SELECT first_name FROM employees WHERE lower(first_name) LIKE 'a%' OR LOWER(first_name) LIKE '_a%';
--msg에 언더바(_)가 포함된 테이타를 출력하시오
SELECT * FROM emp WHERE msg LIKE '%$_%' ESCAPE '$';
--$ 뒤의 문자는 와일드카드로 인식하지 않고 하나의 문자로 인식함
--msg에 오름차순으로 데이타를 출력하시오
SELECT * FROM emp ORDER BY msg; --생략시 기본 오름차순
SELECT * FROM emp ORDER BY msg ASC; --오름차순
SELECT * FROM emp ORDER BY msg DESC; --내림차순
SELECT * FROM emp ORDER BY 1 DESC; -- 1번열(num)을 기준으로 내림차순 정렬
--혈액형이 A형인 사람만 출력하되 메세지의 오름차순으로 정렬
SELECT * FROM emp WHERE blood='A' ORDER BY msg;
-- order by 뒤에 컬럼명1, 컬럼명2, ... 로 2차 3차 조건도 계속 줄 수 있음
--날짜의 오름차순 정렬, 같은 날짜인 경우 job_id의 오름차순
SELECT * FROM employees ORDER BY hire_date, job_id;
--날짜의 내림차순 정렬, 같은 날짜인 경우 job_id의 오름차순
SELECT * FROM employees ORDER BY hire_date DESC, job_id;
Comments