테이블에서 원하는 조건의 데이터를 조회한 결과를 result set (결과집합)이라고한다.
select column_name
from table_name
where condition;
생성할 컬럼(열)이름, 데이터를 가져올 테이블이름, 조건문 순으로 작성한다.
타언어와 거의 유사한 연산자를 가지고있다.
+, -, *, /, %
<, >, <=, >=, =, !=, <>
and, or, not
적용된다.
변수 지정하듯이 별칭을 지정할 수 있다.
컬럼명 as 별칭,
컬럼명 별칭,
컬럼명 as '별칭',
컬럼명 '별칭'
select distinct dept_code
from employee;
# 1. employee 테이블에서 부서코드가 D6, 급여를 200만원 이상 받는 직원의 이름, 부서코드 급여 조회
select emp_name, dept_code, salary
from employee
where DEPT_CODE = 'D6' and SALARY >= 2000000;
# 2. employee테이블에서 부서코드가 D9 이거나 D5인 사원 중
# 급여를 400만원 이상 받는 모든 사원을 조회하시오
select emp_name, DEPT_CODE, SALARY
from employee
where (DEPT_CODE = 'D9' or DEPT_CODE = 'D5') and SALARY >= 4000000;
between A and B : 이상 이하 표현식
# 3. employee테이블에서 월급이 350만원 이상, 600만원 이하에 속하지 않는 사원들의 모든 정보를 조회
select emp_name, salary
from employee
where Not (SALARY between 3500000 and 6000000);
날짜데이터는 비교연산이 가능하다.
문자열의 특정데이터 포함여부를 확인
컬럼값의 like 절에서 지정한 패턴을 만족하는 문자열이 있다면 true
컬럼명 like '패턴'
패턴문자는 '%'이다.
'A%' : A로 시작하는
'%A' : A로 끝나는
'%A%': A를 포함하는
# employee 테이블에서 성이 이씨이고 입사일이 12-01-01 이후인 사원의 사번,이름,고용일 조회
select emp_id, emp_name, hire_date
from employee
where EMP_NAME like '이%'
and HIRE_DATE > '12-01-01';
like절의 와일드카드 '_'
_에는 어떤 문자가 와도 상관없다.
# employee 테이블에서 전화번호의 뒤에서 4번째 자리가 9인 사원의 이름, 전화번호 조회
select emp_name, phone
from employee
where phone like '%9___';
위 코드처럼 뒤에서부터 4번째 자리까지 도달하는 3개의 자리에 '_'을 기입한다.
컬럼값이 목록에 있으면 true
#직급코드가 'J7' 또는 'J2'인 직원 중 급여가 200만원 이상인 직원의 이름, 급여, 직급코드를 조회
select emp_name, salary, JOB_CODE
from employee
where JOB_CODE in('J7','J2')
and SALARY >= 2000000;
컬럼값이 null인지 확인