[초보자를 위한 SQL 200제]를 바탕으로 공부하고 있다.
책을 보고, SQL Developer에서 실행해 볼 때는 생생한데
뒤돌아서면 까먹는다.
복습은 필수이다!!!
SELECT *
FROM 테이블
SELECT : '선택하라'. 테이블로부터 출력하고 싶은 열(column) 이름을 콤마(,)로 구분하여 작성한다
FROM : 데이터를 가지고 있는 테이블명
' * ' : 전체 열(column)을 조회하라
SELECT empno AS "사원 번호"
FROM emp
AS : 컬럼 별칭(column alias) 설정하기. 영어일 때는 반드시 더블 쿼테이션(")안에 넣어주기. 한글의 경우는 자동으로 인식, 하지만 띄어쓰기가 있으면 따옴표 안에 넣어줘야 함!
SELECT ename || sal
FROM emp
|| : 연결연산자(concatenation operator). 컬럼과 컬럼을 서로 연결해서 출력할 수 있게 해준다. 엑셀의 '&'와 쓰임이 비슷한듯!
SELECT DISTINCT job
FROM emp
DISTINCT : 컬럼의 데이터를 출력할 때, 중복된 데이터를 제거해서 출력하고자 할 때 사용.
SELECT ename
, sal
FROM emp
ORDER BY sal ASC
ORDER BY : 데이터를 정렬해서 출력하고자 할 때 사용. 오름차순 ~ ASC, 내림차순 ~ DESC.
- SQL 작성시에 맨 마지막에 작성하고, 실행될 때도 맨 마지막에 실행된다!!
SELECT ename
, sal
, job
FROM emp
WHERE sal = 3000
WHERE : 검색하기 원하는 조건을 WHERE절에 작성하여 데이터를 작성한다. FROM절 다음에 기입!
- 참고
'>' : 크다
< : 작다
'>=' : 크거나 같다
<= : 작거나 같다
= : 같다
!= , ^=, <> : 같지 않다
BETWEEN AND : ~ 사이에 있는 (하한값 AND 상한값) ** 앞에 NOT을 쓰면 ~~ 사이가 아닌 값으로 검색된다!
LIKE : 일치하는 문자 패턴 검색
IS NULL : NULL 값인지 여부
IN : 값 리스트 중 일치하는 값 검색- WHERE 절에는 컬럼 별칭 사용 불가! (SELECT 절보다 먼저 수행되기 때문!!!)
SELECT ename
, sal
, job
, hiredate
, deptno
FROM emp
WHERE ename = 'SCOTT'
숫자와는 다르게 문자를 WHERE 절을 이용해서 검색할 때는 문자 양쪽에 싱글 쿼테이션 마크를 둘러 감싸 주어야 한다!
- 문자, 날짜 모두 마찬가지
ALTER SEEEION SET NLS_DATE_FORMAT = 'YY/MM/DD'
ALTER SESSION SET : 현재 내가 접속한 세션의 파라미터를 변경하는 명령어
- 세션 : 데이터베이스 유저로 로그인해서 로그아웃할 때까지의 한 단위. 즉 현재 세션에서만 유효한 파라미터를 적용하는 명령어.
SELECT ename
, sal * 12 as 연봉
FROM emp
WHERE sal * 12 >= 36000
산술연산자에서는 곱셈이 덧셈보다 우선순위이다!
SELECT ename
, sal
, comm
, sal + comm
FROM emp
WHERE deptno = 10

null 값이 출력되는 경우가 있다.
NULL 값은 데이터가 할당되지 않은, 알 수 없는 값이다.
NULL값이 포함된 컬럼에 NVL함수를 적용해주면 된다NVL(comm, 0) : NULL이면 0으로 출력하라!
SELECT ename
, sal
FROM emp
WHERE ename LIKE 'S%'
LIKE : 문자 패턴이 일치하는 데이터를 검색
% : 일명 '와일드 카드'. 이 자리에 어떠한 철자가 오든, 철자의 개수가 몇 개가 되든 관계없다는 의미. 즉 0개 이상의 임의 문자와 일치.
_ : 하나의 문자와 일치.
SELECT ename
, sal
, job
FROM emp
WHERE job in ('SALESMAN', 'ANALYST', 'MANAGER')
IN : WHERE절에서 여러 리스트의 값을 한번에 조회할 수 있다!
- 해당 리스트에 포함되지 않는 값을 조회하려면 앞에 NOT 을 붙인다