일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 빅데이터
- 내일배움카드
- 패스트캠퍼스
- 딥러닝
- 바이트디그리
- 코딩
- 리스트
- 자바
- ux
- 메시지시스템
- jsp
- 스프링
- Python
- 코린이
- 스마트인재개발원
- java
- 썸머스쿨예약
- 광주직업학교
- 덴디컨설팅
- 전주독서실
- 서블릿
- 자바페스티벌
- iOS개발강의
- 자바스크립트
- 파이썬
- ui
- 전주스터디카페
- 머신러닝
- 문제풀이
- K디지털크레딧
- Today
- Total
멀리 보는 연습
DATABASE_연산자, where, order by, 비교 조건 예제 본문
1. where 절 사용
* 단일 연산자의 비교 조건
* 예제 01
연봉이 150,000 이상인 사원의 이름과 연봉을 구하시오.
단, 이름은 NAME, 연봉은 AnnSal로 출력하시오.
SQL> select last_name name, salary*12 "AnnSal"
2 from employees
3 where salary*12 >= 150000;
NAME AnnSal
-------------------------------------------------- ----------
King 288000
Kochhar 204000
De Haan 204000
Russell 168000
Partners 162000
Hartstein 156000
** where 절에는 AnnSal 을 쓸 수 없음
또한 where 절에 사용한 column은 select 절에 모두 포함하여 비교하는 게 이해하기 수월함
1-1) between A and B >> A와 B 사이의 값
SQL> select last_name, salary
2 from employees
3 where salary between 2500 and 3500;
1-2) A와 B의 범위 이외의 값
1 select last_name, salary*12 "AnnSal"
2 from employees
3* where salary*12 not between 150000 and 200000
2) in(set) > set의 값과 일치하는 값
SQL> select employee_id, last_name, salary, manager_id
2 from employees
3 where manager_id in(100, 101, 201);
>> manager_id의 100, 101, 201 은 사수번호
3) like >> 특정 정보를 포함한 값
1 select last_name, hire_date
2 from employees
3* where hire_date like '06%'
>> 06년도에 입사한 사원 찾기
4) is null >> 비어있는 값
SQL> select last_name, manager_id
2 from employees
3 where manager_id is null;
1) AND 연산자 >> 2개의 조건 동시 만족하는 값
1 select employee_id, last_name, job_id, salary
2 from employees
3 where salary >=10000
4* and job_id like '%MAN%'
1 select last_name, job_id, department_id, hire_date
2 from employees
3* order by hire_date
select last_name, job_id, department_id, hire_date
from employees
order by hire_date desc
** column 명을 "annsal"로 변경했다면 order 절도 "annsal"로 입력
1 select last_name, job_id, department_id, salary*12 "annsal"
2 from employees
3* order by "annsal" desc
1 select last_name, department_id, salary
2 from employees
3* order by department_id, salary desc
>> order by 절에서 두개의 열이 오름차순, 내림차순으로 다를 경우,
일단 department_id 에서 오름차순으로 그룹화 된 후, 그 그룹 안에서 salary 내림차순 정렬이 이루어진다.
*예제01
연봉이 120000 이상 되는 사원들의 이름 및 연봉을 출력하시오.
1 select last_name, salary*12 "AnnSal"
2 from employees
3* where salary*12 >120000
*예제02
사원 번호가 176인 사원의 이름과 부서 번호를 출력하시오.
1 select last_name, department_id
2 from employees
3* where employee_id = 176
*예제03
연봉이 150000에서 200000의 범위 이외인 사원들의 이름 및 연봉을 출력하시오. 단 연봉은 AnnSal로 출력하시오.
1 select last_name, salary*12 "AnnSal"
2 from employees
3* where salary*12 not between 150000 and 200000
*예제04
2003/01/01 부터 2005/05/30 사이에 고용된 사원들의 이름, 사번, 고용일자를 출력하시오. 고용일자를 역순으로 정렬하시오.
1 select last_name, employee_id, hire_date
2 from employees
3 where hire_date between '03/01/01' and '05/05/30'
4* order by hire_date desc
*예제05
20번 및 50번 부서에서 근무하는 모든 사원들의 이름 및 부서 번호를 알파벳 순으로 출력하시오.
SQL> select last_name, department_id
2 from employees
3 where department_id in (20,50)
4 order by last_name asc;
*예제08
매니저가 없는 사람들의 이름 및 업무를 출력하시오.
SQL> select last_name, job_id
2 from employees
3 where manager_id is null;
*예제09
매니저가 있는 사람들의 이름 및 업무, 매니저번호를 출력하시오.
SQL> select last_name, job_id, manager_id
2 from employees
3 where manager_id is not null;
*예제10
커미션을 받는 모든 사원들의 이름, 연봉 및 커미션을 출력하시오.
연봉을 역순으로 정렬하고, 연봉을 ANNSAL로 출력하시오.
1 select last_name, salary*12 annsal, commission_pct
2 from employees
3 where commission_pct is not null
4* order by salary*12 desc
*예제11
이름의 네번째 글자가 a인 사원의 이름을 조회하시오.
SQL> select last_name
2 from employees
3 where last_name like '___a%';
*예제12
이름에 a 및 e 글자가 있는 사원의 이름을 조회하시오.
1 select last_name
2 from employees
3 where last_name like '%a%'
4* and last_name like '%e%'
*예제14
30번 부서 내의 모든 직업들을 유일한 값으로 출력하시오.
90번 부서 또한 포함하고, 직업을 오름차순으로 출력하시오.
1 select distinct job_id
2 from employees
3 where department_id in (30,90)
4* order by job_id asc
'Study > DATABASE' 카테고리의 다른 글
DATABASE_서브쿼리 (0) | 2021.05.31 |
---|---|
DATABASE_group by, SQL 구문 실행 순서, having (0) | 2021.05.31 |
DATABASE_조인 (0) | 2021.05.31 |
DATABASE_명령문 (0) | 2021.05.23 |
DATABASE_용어 (0) | 2021.05.23 |