일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- Vo
- C#접근제어자
- Oracle
- o(log n)
- Oracle SQL Developer
- mvc디자인패턴
- C#접근제한자
- sql
- 메이븐업데이트
- DAO
- oracle db
- DB
- JSP
- 자바연산자
- 오라클
- DEFAULT
- oracle developer
- java접근제어자
- break
- DATABASE
- 접근제한자
- JavaSwing
- DB 제약조건
- 데이터베이스
- 빅오표기법
- DTO
- 자바
- O(n)
- C언어 표준 라이브러리
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
DATABASE, DB 데이터베이스 WHERE 조건절 (BETWEEN A AND B, IN, MOD), LIKE 본문
DATABASE, DB 데이터베이스 WHERE 조건절 (BETWEEN A AND B, IN, MOD), LIKE
hyemi_flora 2023. 10. 31. 09:161027 수업내용
--컬럼명 BETWEEN A AND B : 해당 컬럼 값이 A와 B 사이인 경우 true ( BETWEEN A < AND <= B A 이상, B 이하)
SELECT first_name, salary FROM employees WHERE salary BETWEEN 2000 AND 3000;
-- 컬럼명 IN(A, B, C...) : () 안의 내용에 해당 값이 있으면 true;
SELECT first_name, job_id FROM employees WHERE job_id IN('ST_CLERK', 'SH_CLERK');
SELECT first_name, department_id FROM employees WHERE department_id IN(30,60,100);
-- ()안의 값을 나열하는 장소에 다른 쿼리문을 활용할 수 있다. (서브 쿼리)
-- ()값을 먼저 실행한 후에 () 밖의 값을 실행한다.
SELECT first_name, department_id
FROM employees WHERE department_id IN (
SELECT department_id FROM departments WHERE location_id = 1700);
-- null은 크기 비교가 불가능하기 때문에 일반적인 비교 연산자를 사용하면 false가 나온다.
SELECT * FROM employees WHERE commission_pct = null; -- 조회 안됨
-- NULL 행들을 조회하고 싶을 때
SELECT * FROM employees WHERE commission_pct IS null;
SELECT * FROM employees WHERE nvl(commission_pct, 0) = 0;
-- NULL이 아닌 행들을 조회하고 싶을 때
SELECT * FROM employees WHERE NOT commission_pct IS null;
SELECT * FROM employees WHERE commission_pct IS NOT null;
-- 사원번호가 홀수인 사원들만 조회하기(java에서 사용하던 % 와 다르게
-- mod(value, divisor) 함수를 사용해 나머지를 구할 수 있다.)
SELECT * FROM employees WHERE mod(employee_id, 2) = 1;
# Like
- 데이터의 일부분이 일치하는 행을 조회할 수 있다.
- % : 문자가 있어도 되고 없어도 되는 자리 (정규표현식 * 와 유사)
- _ : 반드시 한 글자가 있어야 하는 자리
SELECT first_name, last_name FROM employees WHERE first_name LIKE 'S%';
-- 이름이 S로 시작하는 사람
SELECT first_name, last_name FROM employees WHERE first_name LIKE '_t%';
SELECT first_name, last_name FROM employees WHERE first_name LIKE '__l%';
SELECT first_name, last_name FROM employees WHERE first_name LIKE '%r';
-- r로 끝나는 이름
SELECT first_name, last_name FROM employees WHERE first_name LIKE '%e__';
-- 뒤에서 3번째 자리 e인 사람
SELECT hire_date FROM employees WHERE hire_date LIKE '%/02/%';
-- 입사한 월이 2월
QUIZ
-- 연습 1> first_name에 a가 포함된 모든 사원들의 이름 조회
SELECT first_name FROM employees WHERE first_name LIKE '%a%' OR first_name LIKE '%A%';
-- 연습 2> first_name에 e가 2개 포함된 모든 사원들의 이름 조회
SELECT first_name FROM employees WHERE first_name LIKE '%e%e%' OR first_name LIKE '%E%e%';
-- 연습 3> first_name이 5글자 이면서 r로 끝나는 모든 사원들의 이름 조회
SELECT first_name, last_name FROM employees WHERE first_name LIKE '____r%';
-- 연습 3> 8월에 입사한 사원들의 이름과 고용일 조회
SELECT first_name, last_name, hire_date FROM employees WHERE hire_date LIKE '%/08/%'
'백엔드개발 > DATABASE' 카테고리의 다른 글
DECODE, CASE (0) | 2023.10.31 |
---|---|
데이터베이스 / DB 집합 / 교집합, 차집합, 합집합 (0) | 2023.10.31 |
DATABASE WHERE 조건절, 연산자 / 데이터베이스 / db (0) | 2023.10.31 |
DATABASE 란? (1) | 2023.10.27 |
SQL 연습용 계정 만들기 (0) | 2023.10.27 |