| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 데이터베이스
- 프런트엔드
- 서버
- 프로그래머스
- SQL
- 자바
- oracle
- spring
- 프론트엔드
- jsp
- 미니정리
- 코드테스트
- node.js
- 알고리즘
- 디자인 패턴
- 스프링부트
- 정리
- 코드 테스트
- MySQL
- JavaScript
- BACK-END
- 스프링
- jpa
- 자바스크립트
- java
- 오라클
- Next.js
- 쿼리
- web
- 백엔드
- Today
- Total
참치코더의 꿈 메모장
2021/07/10 ORACLE- WHERE 절 & WHERE 절 주 연산자 본문
WHERE 절
WHERE절은 많은 데이터 중에서 어떤 조건에 일치하는 행만을 골라내어 조회하는데 사용한다.
SELECT [조회할 열1 이름],[열 2 이름], ... , [열 N 이름]
FROM [조회할 테이블 이름]
WHERE [조회할 행을 선별할기 위한 조건식]
AND, OR 연산자
* 테이블 안에 들어 있는 문자 또는 문자열 데이터는 대, 소문자를 구별한다.
AND 연산자를 사용하면 A AND B 앞의 조건식 A 와 뒤의 조건식 B의 조건을 충족하는 테이블의 결과를 출력한다.
OR 연산자를 사용하면 A OR B 앞의 조건식 A 또는 뒤의 조건식 B 둘중 하나를 만족하거나 둘다를 만족하는
테이블의 결과를 출력한다.
* WHERE절에 사용할 수 있는 조건식의 개수는 사실상 제한이 없다.
산술 연산자
그냥 흔하게 아는 + - * /
WHERE 절의 조건식에도 산술 연산자를 사용할 수 있다.
비교 연산자
대소 비교 연산자
비교 연산자는
연산자 앞뒤에 있는 데이터 값을 비교하는 데 사용한다.
또한 비교 대상인 데이터가 숫자가 아닌 문자열일 때도 사용할 수 있다.
> , >= , < , <=
* 문자열을 비교할 때 영어 사전처럼 알파벳 순서로 문자열의 '대소'를 비교한다.
A = B : A 값이 B 값과 같을 경우 true, 다를 경우 false 반환
A != B OR A <> B OR A ^= B : A 값이 B 값과 다를 경우 true, 다를 경우 false 반환
논리 부정 연산자(NOT 연산자)
A 값이 true일 경우 논리 부정 연산자의 결과 값은 false가 된다.
반대로 A 값이 false인 경우 논리 부정 연산자의 결과 값은 true가 된다.
IN 연산자
IN 연산자를 사용하면 특정 열에 해당하는 조건을 여러개 지정할 수 있다.
SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름]
FROM [조회할 테이블 이름]
WHERE 열 이름 IN (데이터1, 데이터2, ... 데이터N);
BETWEEN A AND B 연산자
특정 열 값의 최소, 최고 범위를 지정하여 해당 범위 내의 데이터만 조회할 경우에 대소 비교 연산자 대신
BETWEEN A AND B 연산자를 사용하면 더 간단하게 표현 가능.
SELECT [조회할 열1 이름],[열2 이름], ..., [열N 이름]
FROM [조회할 테이블 이름]
WHERE 열 이름 BETWEEN 최솟값 AND 최대값;
LIKE 연산자와 와일드 카드
LIKE 연산자는 이메일이나 게시판 제목 또는 내용 검색 기능처럼 일부 문자열이 포함된 데이터를 조회할 때 사용한다.
SELECT *
FROM HR.EMPLOYEES
WHERE EMP_NAME LIKE 'S%';
위 조건식에서 사용한 % 기호를 와일드 카드(wild card)라고 한다.
와일드 카드는 특정 문자 또는 문자열을 대체하거나 문자열 데이터의 패턴을 표기하는 특수 문자이다.
LIKE 연산자와 함께 사용할 수 있는 와일드 카드는 _와 % 이다.
_ : 어떤 값이든 상관없이 한 개의 문자 데이터를 의미
% : 길이와 상관없이 모든 문자 데이터를 의미
* A\_A%에서 문자 바로 뒤에 있는 _는 와일드 카드 기호로서가 아닌 데이터에 포함된 문자로 인식하라는 의미이다.
LIKE 연산자와 와일드 카드 문자의 성능
* 실무에서 LIKE 연산자를 사용하지는 않는다 , 성능이 떨어지기때문
IS NULL 연산자 , IS NOT NULL 연산자
특정 열 또는 연산의 결과값이 NULL인지 여부를 확인하려면 IS NULL 연산자를 사용해야 한다.
그 반대의 경우는 IS NOT NULL 연산자를 사용한다.
집합 연산자
SQL문에서는 SELECT문을 통해 데이터를 조회한 결과를 하나의 집합과 같이 다룰 수 있는 집합 연산자를
사용할 수 있다.
UNION 연산자라고도 한다.
* UNION연산자를 사용할 때 SELECT 문이 출력하려는 열 개수와 각 열의 자료형이 순서별로 일치해야 한다.
*주의 해야 하는게 자료형만 같으면 쓰레기 값이 들어가도 출력이 되기 때문에 조심해야 한다.
*최종 출력되는 열 이름은 먼저 작성한 SELECT 문의 열 이름으로 표기된다.
UNION : 연결된 SELECT문의 결과 값을 합집합으로 묶어 준다. (결과 값의 중복은 제거된다)
UNION ALL : 연결된 SELECT 문의 결과 값을 합집합으로 묶어 준다. (중복값 제거 X)
MINUS : 먼저 작성한 SELECT 문의 결과 값에서 다음 결과 값을 차집합 처리 한다.
INTERSECT : 먼저 작성한 SELECT 문과 다음 SELECT 문의 결과 값이 같은 데이터만 출력한다
*먼저 수행해야 하는 연산식을 소괄호( )로 묶어 주면 연산자의 기본 우선순위와는 별개로
괄호 안의 연산식을 먼저 수행한다.
'Oracle' 카테고리의 다른 글
| 2021/07/13 Oracle - 함수 (0) | 2021.07.13 |
|---|---|
| 2021/07/13 Oracle - 날짜 & BFILE , BLOB (0) | 2021.07.13 |
| 2021/07/12 Oracle - 자료형 (0) | 2021.07.12 |
| 20210708 ORACLE SQL _ SELECT문 (0) | 2021.07.08 |
| 21.07.07 Oracle DB - SQL(1) (0) | 2021.07.07 |