1. WHERE 조건절 개요

원하는 자료만 검색하기 위해서나 이상의 테이블에 대한 조건을 기술하거나 결과를 제한하기 위한 조건을 기술

SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명]

FROM 테이블명

WHERE 조건식;

  • 컬럼명
  • 비교연산자
  • 문자, 숫자, 표현식
  • 비교칼럼 (조인 사용시)

 

2. 연산자의 종류

구분

연산자

비교연산자      

= , >= , >, <, <=         

부정 비교 연산자

!=, ^=, <>(표준), NOT칼럼명=, NOT칼럼명 >

SQL연산자     

Between A and B, In(list), Like'비교문자열', IS NULL

부정 SQL 연산자

NOT Between A and B,  NOT In(list), NOT IS NULL

논리연산자

AND, OR, NOT

 

처리 우선순위

괄호 NOT 연산자 비교연산자, SQL연산자 AND OR

 

3. 비교연산자

 

Char varchar2 같은 문자형 타입을 가진 칼럼은 인용부호( ' ' , " ") 묶어서 비교 처리 해야함

문자 유형 비교 방법

구분

비교방법

양쪽 모두가 CHAR

서로 다른 CHAR형이면 작은쪽에 SPACE 추가하려 길이를 같게 비교

서로 다른 문자가 나올때까지 비교

달라진 첫번쨰 문자의 값에 따라 크기 결정

BLANK 수만 다르면 서로 같은 값으로 결정

한쪽이 VARCAHR2

서로 다른 문자가 나올때까지 비교

길이가 다르면 짧은것이 끝날떄까지만 비교 길기가 긴것이 크다고 판단

길이가 같고 다른것이 없으면 같음

NOT NULL까지 길이 포함

상수값과 비교시

상수를 변수타입으로 바꾸고 비교

 

4. SQL연산자

    • IN 연산자 : SQL 문장을 짧게 만들어주면서도 성능측면에서도 장점을 가질수 있는 매우 유용한 연산자, 사용 권장

Ex) WHERE (JOB, DEPTNO) IN (('MANAGER',20),('CLERK',30));

  • LIKE 연산자 : % (0 이상의 어떤 문자를 의미), _ (1개인 단일 문자 의미)
  • Between A and B 연산자
  • IS NULL 연산자 : 값이 존재하지 않는 , 확정되지 않은 표현할때 사용

NULL값과의 수치연산은 NULL, NULL과의 비교연산은 FALSE, 어떤 값과도 비교 없음

 

5. 논리연산자

우선순위 : ( ) NOT AND OR

 

6. 부정 연산자

  

 

7. ROWNUM, TOP

 

. ROWNUM

오라클의 ROWNUM 임시로 부여되는 일련번호, 원하는 만큼만 가지고 때는 where 절에서 개수 제한 가능

SELECT 컬럼명 FROM 테이블명 WHERE ROWNUM = N;

SELECT 컬럼명 FROM 테이블명 WHERE ROWNUM <= N+1;

 

고유한 키나 인덱스 만들수 있음

UPDATE 테이블명 SET COLUMN1 = ROWNUM;

 

. TOP

SQL server 제한

TOP (Expression) [PERCENT] [WITH TIES]

  • Expression : 반환할  행수
  • Rercent : 쿼리 결과 집합에서 처음 Expression % 포함된 행만 반환(백분율 환산)
  • With Ties : order by 절이 지정된 경우에만 사용, 같은 값이 있다면 추가 행을 출력할 있도록 지정

'자격증 공방 > SQLD' 카테고리의 다른 글

제 3-7절 GROUP BY, HAVING 절  (0) 2018.07.07
제 3-6절 함수  (0) 2018.07.07
제 3-4절 TCL (TRANSACTION CONTROL LANGUAGE)  (0) 2018.07.07
제 3-3절 DML (DATA MANIPULATION LANGUAGE)  (0) 2018.07.07
제 3-2절 DDL  (0) 2018.07.07

+ Recent posts