Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- commit
- 임시테이블생성
- db
- 파이썬
- 에러코드
- 조건문
- 오라클에러
- java
- Python
- SQL
- for문
- 백준
- 자바문제
- 오늘부터개발자
- 오라클에러코드
- 자바문제풀이
- 코드업
- 오라클
- 자바
- mysql
- 코드업문제풀이
- 오늘부터 개발자
- 문제풀이
- oracle
- 반복문
- CodeUp
- 자바별찍기
- BaekJoon
- if문
- 별찍기
Archives
- Today
- Total
매일 1%씩, 개발자로 성장하기
[DB] 다중행연산자 ANY, ALL 비교 본문
728x90
1) ANY, SOME
- 다수의 비교값 혹은 서브쿼리에서 사용하는 다중행 연산자
- 조건을 만족하는 값이 하나라도 있으면 결과 리턴
- IN과 다른점은 비교 연산자를 사용한다는 점
- OR 연산자로 변경 가능
[비교 연산자와 ANY]
- > ANY : 최소값보다 크면
- >= ANY : 최소값보다 크거나 같으면
- < ANY : 최대값보다 작으면
- <= ANY : 최대값보다 작거나 같으면
- = ANY : IN과 같은 기능
- != ANY : NOT IN과 같은 기능
SELECT DEPTNO
FROM EMP
WHERE DEPTNO > ANY (SELECT DEPTNO
FROM EMP
WHERE ENAME = 'JONES');
SELECT ENAME
FROM EMP
WHERE DEPTNO = ANY(100, 10, 20);
SELECT ENAME
FROM EMP
WHERE DEPTNO = 100 OR DEPTNO = 10 OR DEPTNO = 20;
SELECT DEPTNO
FROM EMP
WHERE DEPTNO > SOME (SELECT DEPTNO
FROM EMP
WHERE ENAME = 'JONES');
※ IN 조건과 다른점
IN : 조건절에서 사용되며 다수의 비교값과 비교하여 비교값 중 하나라도 같은 값이 있으면 TRUE값 리턴
SELECT DEPTNO
FROM EMP
WHERE DEPTNO IN(100, 10, 20);
2) ALL
- 다수의 비교값 혹은 서브쿼리에서 사용하는 다중행 연산자
- 모든 조건을 만족하는 결과를 리턴
- AND 연산자로 변경 가능
[비교 연산자와 ALL]
- > ALL : 최대값보다 크면
- >= ALL : 최대값보다 크거나 같으면
- < ALL : 최소값보다 작으면
- <= ALL : 최소값보다 작거나 같으면
- = ALL : 서브 쿼리의 결과가 1건이면 괜찮지만 여러 건이면 오류가 발생
- != ALL : 서브 쿼리의 결과가 1건이면 괜찮지만 여러 건이면 오류가 발생
SELECT DEPTNO
FROM EMP
WHERE DEPTNO > ALL (SELECT DEPTNO
FROM EMP
WHERE ENAME = 'JONES');
SELECT DEPTNO
FROM EMP
WHERE DEPTNO = ALL (SELECT DEPTNO
FROM EMP
WHERE ENAME = 'JONES');
SELECT ENAME
FROM EMP
WHERE DEPTNO = ALL(100, 10, 20);
FALSE : DEPTNO = 100 AND DEPTNO= 10 AND DEPTNO = 200 일치할 수 없기 때문에
(DEPTNO가 100인 데이터는 없음)
SELECT ENAME
FROM EMP
WHERE DEPTNO > ALL(100, 10, 20);
FALSE : DEPTNO > 100 AND DEPTNO > 10 AND DEPTNO > 200로 일치할 수 없기 때문에
SELECT ENAME
FROM EMP
WHERE DEPTNO < ALL(100, 10, 20);
FALSE : DEPTNO < 100 AND DEPTNO < 10 AND DEPTNO < 200로 일치할 수 없기 때문에
(DEPTNO가 10보다 작은 데이터는 없음)
728x90
'Database' 카테고리의 다른 글
[DB] EXISTS 함수 (0) | 2022.08.11 |
---|---|
[DB] LOWER 문자열의 모든 문자를 소문자로 변환하고 싶을 때 (0) | 2022.08.05 |
[DB] UPPER 문자열의 모든 문자를 대문자로 변환하고 싶을 때 (0) | 2022.08.04 |
[DB] DCL(Data Control Language, 데이터 제어 언어) (0) | 2022.08.03 |
[DB] TCL(Transaction Control Language, Transaction 트랜잭션 제어 언어) (0) | 2022.08.02 |
Comments