[표현식]
-- EMPLOYEE 테이블에서 사원명, 연봉(급여*12) 조회
SELECT EMP_NAME, SALARY*12 FROM EMPLOYEE;
--EMPLOYEE테이블에서 입사일부터 오늘날짜까지 며칠근무했는지
SELECT EMP_NAME, HIRE_DATE, SYSDATE-HIRE_DATE FROM EMPLOYEE;
산술연산시 컬럼명은 산술에 들어간 수식 그대로 컬럼명이 됨 이때 별칭 부여
[표현법]
컬럼명 별칭 | 컬럼명 as 별칭 | 컬럼명 "별칭" | 컬럼명 AS "별칭"
* 별칭에 반드시 쌍따옴표가 들어가야 될 때
- 띄어쓰기가 있던지, 특수문자가 들어가 있을 때(자바스크립트랑 비슷)
컬럼명 AS "별칭" 으로 외우고 따옴표나 AS는 상황에 맞게 생략 가능
별칭은 한번 SELECT할때만 적용되고, 다음번에 또 같은 컬럼을 부른다고 전에 붙인 별칭이 나오진 않음
<연결연산자>
|| : 여러 COLUMN을 마치 하나인것처럼 연결하거나, 컬럼값과 리터럴을 연결
하나의 컬럼처럼 붙어서 나와버림
문자열과 연결하려면 '작은따옴표' 로 감싸야함
<DISCINCT>
컬럼에 중복된 값들을 한번씩만 표시하고자 할 때
EMPLOYEE 테이블 안의 모든 사람들을 불러왔는데도 직급코드는 겹치는거 하나 없이 나옴
>> 비교연산자
> < >= <= : 대소비교
= : 같다
!= ^= <> : 같지않다
WHERE절 안에서 쓰일 수 있는 비교연산자들
<논리연산자>
AND와 OR를 씀
AND나 OR로 WHERE절 연결 가능
**날짜를 쓸때 '00/00/00' 형식으로 쓸것
<LIKE>
비교하고자 하는 컬럼값이 내가 제시한 특정패턴에 만족하는 것만 조회
[표현법]
비교대상컬럼 LIKE '특정패턴';
: 특정패턴에 => '%' 나 '_' 를 와일드카드 사용
자바나 자스의 정규식과 비슷
- % : 0글자 이상
EX) 비교대상컬럼 LIKE '문자%' => 비교대상의 컬럼값이 문자로 시작하는 컬럼 조회
EX) 비교대상컬럼 LIKE '%문자' => 비교대상의 컬럼값이 문자로 끝이나는 컬럼 조회
EX) 비교대상컬럼 LIKE '%문자%' => 비교대상의 컬럼값에 문자가 포함되어있는 컬럼 조회
- _ : 딱 1글자
EX) 비교대상컬럼 LIKE '문자_' => 비교대상의 컬럼값이 문자뒤에 딱 한글자인 컬럼 조회
EX) 비교대상컬럼 LIKE '_문자' => 비교대상의 컬럼값에서 문자 앞에 딱 한글자만
EX) 비교대상컬럼 LIKE '__문자' => 앞에 두글자는 뭐가 와도 상관없는데 뒤에 문자로 끝나야함(총 4글자)
EX) 비교대상컬럼 LIKE '_문자_' => 비교대상의 컬럼값에 문자 앞뒤로 딱 한글씩만 있어야함
-- 와일드카드로 사용되고 있는 문자와 컬럼값에 들어있는 문자가 동일한 경우
-- _가 모두 와일드카드로 인식되므로 어떤건 와일드카드고 어떤건 문자인지 구분해줘야함
-- 데이터값으로 취급하고싶은값 앞에 나만의 와일드카드(아무문자나숫자)를 제시
-- 제시하고 해당 값이 나만의 와일드카드값임을 알려주면 됨(ESCAPE OPTION)
SELECT EMP_NAME, EMAIL AS "MAIL", EMP_NO
FROM EMPLOYEE
WHERE EMAIL LIKE '___#_%' ESCAPE '#';
<IS NULL과 IS NOT NULL>
NULL이 있는지 아닌지
<IN>
컬럼값에 내가 제시한 목록이 포함되어있는지 조회
[표현법]
비교대상컬럼 IN ('값1', '값2', '값3', ...)
LIKE를 써도 같지만 코드 길이를 줄여주고 훨씬 편하게 여러개를 조회할 수 있음
<연산자에 우선순위가 있음>
1. ()
2. 산술연산자
3. 연결연산자(AND OR)
4. 비교연산자(<=>)
5. IS NULL / LIKE / IN
6. BETWEEN AND
7. NOT(논리연산자)
8. AND(논리연산자)-**
9. OR(논리연산자)-** and와 or의 순서가 자주 나옴
우선순위를 잘 고려해서 써야함 시험에 나올 가능성 좀 있음
<ORDER BY>
내가 제시한 컬럼을 기준으로 정렬할 때 사용
-SELECT문 맨 마지막에 기술을 함(WHERE보다 뒤에, 실행순서 가장 마지막임)
[표현법]
SELECT 보고싶은컬럼들
FROM 테이블명
WHERE 조건식
ORDER BY 정렬기준의 컬럼명 | 별칭(AS) | 컬럼순번 [ASC|DESC] [NULLS FIRST|NULLS LAST]
- [ASC|DESC] : 오름차순OR내림차순(생략시오름차순이기본값)
- [NULLS FIRST|NULLS LAST] : 생략가능 NULL을 맨 앞에 쓸지 뒤에쓸지
(생략하면 ASC일땐 맨 뒤로가고 DESC일떈 맨 앞부터 나옴)