CS/DB

[DB] SQL 사용법(2)

겜도리도리 2022. 4. 26. 14:36
반응형

선택되는 행 제한

where 절을 사용한다.

 

부서번호가 90인 사원 정보만 검색

BETWEEN, IN, LIKE

=, <>, >, <와 같은 비교 조건외에도 사용가능한 비교 조건들

BETWEEN A AND B
IN

LIKE 사용시에는 %, _와 같은 와일드카드 문자열을 사용한다.

% : 0개 이상의 임의의 문자열

_ : 1개의 임의의 문자열

 

ORDER BY

기본 정렬 조건은 오름차순(ASC)이다. 내림차순을 원할 경우 DESC를 표기해주어야 함.

 

급여가 $12,000를 넘는 사원의 이름과 급여를 표시

select last_name, salary

from hr.employees

where salary > 12000;

사원번호가 176인 사원의 이름과 부서 번호를 표시

select last_name, department_id

from hr.employees

where department_id = 176;

 

 

결과 없음 (사원 번호가 176인 튜플이 없음)

 

급여가 $5,000에서 $12,000 사이에 포함되지 않는 모든 사원의 이름과 급여를 표시

select last_name, salary

from hr.employees

where salary NOT Between 12000 AND 5000;

2007년 2월 20일과 2007년 5월 1일 사이에 입사한 사원의 이름, 업무 ID 및 시작일을 표시하되, 시작일을 기준으로 오름차순으로 정렬하는 질의 (날짜는 DATE ‘2007-02-20’ 같은 형태로 표시하면 됨)

select last_name, department_id, hire_date
from hr.employees
where hire_date between TO_date('02-20-07', 'MM-DD-YY') and TO_date('05-01-07', 'MM-DD-YY')
order by hire_date;

부서 20 및 50에 속하는 모든 사원의 이름과 부서 번호를 이름을 기준으로 영문자순으로표시 

select last_name, department_id

from hr.employees

where department_id in (20, 50)

order by last_name;

급여가 $5,000와 $12,000 사이이고 부서번호가 20 또는 50인 사원의 이름과 급여를 나열하고, 열레이블을 Employee와
Monthly Salary로 각각 지정

select last_name As "Employee", salary As "Monthly Salary"

from hr.employees

where salary Between 5000 AND 12000 AND department_id IN (20, 50);

 
1994년에 입사한 모든 사원의 이름과 입사일을 표시

select last_name, hire_date

from hr.employees

where hire_date between DATE '1994-01-01' and DATE '1994-12-31';

 

결과 없음 (1994년에 입사한 사원이 없음)
관리자가 없는 모든 사원의 이름과 업무 ID를 표시

select last_name, job_id

from HR.employees

where manager_id IS NULL;

 
커미션을 받는 모든 사원의 이름, 급여 및 커미션을 급여 및 커미션을 기준으로 내림차순으로 정렬하여 표시

select last_name, salary, commission_pct

from hr.employees

where commission_pct is not null

order by salary desc, commission_pct desc;

이름의세번째문자가 a인 모든 사원의 이름을 표시

select last_name

from HR.employees

where last_name like '__a%';

 

이름에 a와 e가 있는 모든 사원의 이름을 표시

select last_name

from HR.employees

where last_name like ‘%a%’ AND last_name like ‘%e%’

 

SELECT last_name

from hr.employees

where last_name like '%a%e%' or last_name like '%e%a%’ 도 가능

업무가 영업사원 (SA_REP) 또는 사무원(ST_CLERK)이면서 급여가 $2,500, $3,500또는 $7,000가 아닌 모든 사원의 이름,
업무 및 급여를 표시

select last_name, job_id, salary

from Hr.employees

where job_id in ('SA_REP', 'ST_CLERK') and salary not in (2500, 3500, 7000);

 

커미션비율이 20%인 모든 사원의 이름, 급여 및 커미션을 표시

select last_name, salary, commission_pct

from hr.employees

where commission_pct = 0.2;

반응형

'CS > DB' 카테고리의 다른 글

[DB] ER 모델  (0) 2022.05.14
[DB] 데이터베이스 설계 개요  (0) 2022.05.13
[DB] SQL 사용법(1)  (0) 2022.04.26
[DB] 관계 대수 예시  (0) 2022.04.26
[DB] 관계 대수  (0) 2022.04.26