SELECT
- 데이터를 조회한 결과를 Result Set이라고 하는데 SELECT 구문에 의해 조회된 행들의 집합을 의미
- 한 테이블의 특정 컬럼, 특정 행, 특정 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회 가능
* SELECT : 조회하고자 하는 컬럼명 기술. 여러 컬럼을 조회하는 경우 컬럼은 쉼표로 구분하고, 마지막 컬럼 다음은 쉼표를 사용하지 않음. 모든 컬럼 조회 시 컬럼명 대신 '*' 기호 사용 가능하며 조회 결과는 기술한 컬럼명 순으로 표시됨.
* FROM : 조회 대상 컬럼이 포함된 테이블 명 기술
* WHERE : 행을 선택하는 조건 기술. 여러개의 제한 조건을 포함할수 있으며, 제한 조건을 만족시키는 행들만 Result Set
에 포함.
컬럼 별칭
- 숫자 혹은 특수문자가 포함되는 경우에 " " 사용
- AS 생략 가능(공백으로 구분)
1) 컬럼명 AS 별칭 : 띄어쓰기 X, 특수문자X, 문자O
2) 컬럼명 별칭 : 1) 에서 AS만 생략한것
3) 컬럼명 AS "별칭" : 띄어쓰기O, 특수문자O, 문자O
4) 컬럼명 "별칭" : 3)에서 AS만 생략한것
리터럴
- 임의로 지정한 문자열을 SELECT절에 사용하면 테이블에 존재하는 데이터처럼 활용 가능
* 문자나 날짜 리터럴은 ' ' 기호 사용
* 리터럴은 Result Set의 모든 행에 반복 표시 됨
SYSDATE
- 시스템상의 현재 날짜(년, 월, 일, 시, 분, 초 단위까지 표현 가능하지만 디벨로퍼의 날짜 표기 방법이 년/월/일로 지정되어 있는것이다.
- DUAL (DUmy tAbLe) : 가짜 테이블(임시 테이블, 단순 조회 테이블)
- DB는 날짜 데이터의 연산(+,-)이 가능하다(일 단위)
DISTINCT
- 컬럼에 포함된 데이터 중 중복값을 제외하고 한번씩만 표시하고자 할때 사용
- 주의사항
1) DISTINCT는 SELECT문에 딱 한번만 작성할 수 있다.
2) DISTINCT는 SELECT문 가장 앞에 작성되어야 한다.
WHERE
- 테이블에서 조건을 충족하는 값을 가진 행만 조회하고자 할 때 사용
- 비교 연산자 : >, <, >= , <= , =,(같다) !=, <>(같지않다)
- 여러개 조건 작성 시 AND/OR 사용
연결 연산자
- '||' 를 사용하여 여러 컬럼을 하나의 컬럼인것처럼 연결하거나 컬럼과 리터럴을 연결함
BETWEEN AND
- 컬럼명 BETWEEN A AND B : 컬럼값이 A이상 B이하인 경우
- 컬럼명 NOT BETWEEN A AND B : 컬럼값이 A미만 B초과인 경우
LIKE
- 비교하려는 값이 지정한 특정 패턴을 만족하면 TRUE를 리턴하는 연산자로 '%'와 '_'를 와일드카드로 사용
- 작성법 : WHERE 컬럼명 LIKE '패턴'
- LIKE 패턴(와일드카드) : '%'(포함) , '_'(글자수)
- NOT LIKE : 결과 부정
- 와일드 카드 문자와 패턴의 특수문자가 동일한 경우 어떤 것을 패턴으로 결정하는지 구분하지 못하기 때문에 데이터로 처리할 와일드 카드 문자 패턴 기호 앞에 임의의 특수문자를 사용하고 ESCAPE OPTION으로 등록하여 처리
--> # 뒤 한 글자만(_)을 일반 문자 취급
IN
- 비교하려는 값과 목록에 작성된 값 중 일치하는것이 있으면 조회하는 연산자(OR연산을 연달아 작성한 효과)
- 작성법 : 컬럼명 IN ( 값1, 값2, 값3...)
IS NULL / NOT NULL
- NULL 여부를 비교하는 연산자
- IS NULL : 컬럼값이 NULL인 경우 조회
- IS NOT NULL : 컬럼값이 NULL이 아닌 경우 조회
ORDER BY
- SELECT문의 조회결과(RESULT SET)을 정렬할때 작성하는 구문
- 정렬은 숫자, 문자, 날짜 모두 사용가능
- 정렬은 중첩도 가능하다.
- ASC : 오름차순 정렬( ORDER BY 정렬방식은 기본적으로 오름차순이기 때문에 ASC는 생략가능)
- DESC : 내림차순 정렬(DESC 생략 불가능)