오라클 데이터베이스에 보관되어 있는 데이터를 꺼내오기 위해
SQL Query을 사용합니다.
SQL은 Structured Query Language의 줄임말로써,
번역하면 구조적인 Query 언어를 의미합니다.
Query란 직역하면 "질의 문"이라는 뜻으로
풀어쓰자면 저장된 데이터를 필터링하기 위한 질문이라고
생각하면 편합니다.
자주 사용하는 SQL 쿼리문에 대해 알아봅시다.
📝 실습 테이블 Emp
✔오라클 DB에서 제공하는 학습용 계정 SCOTT을 사용해서 직접 실습해 보세요.
https://hyunki99.tistory.com/52
📑 자주 사용하는 쿼리문
⦁ SELECT
SELECT 컬럼명 FROM 테이블명
SQL의 기본 뼈대로서 DB에 보관되어 있는 데이터를 조회하는 데 사용합니다.
모든 열을 불러오고 싶을 때는 컬럼명 부분에 *을 넣으시면 됩니다.
⦁ WHERE 조건
SELECT 컬럼명 FROM 테이블명 WHERE 조건
+ AND, OR로 여러 조건 가능
WHERE 구문을 추가해서 조건이 참인 데이터만 불러옵니다.
예시) WHERE JOB = 'MANAGER';
⦁ ORDER BY 정렬
SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC
+ ORDER BY 컬럼1 ASC, 컬럼2 DESC 가능 (1순위, 2순위)
ORDER BY 뒤에 오는 컬럼명을 기준으로 불러오는 데이터를 정렬합니다.
ASC : 오름차순, DESC : 내림차순입니다. 기본 값은 오름차순 정렬입니다.
⦁ LIMIT 개수
SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC LIMIT 개수
LIMIT절의 개수 만큼 데이터를 불러옵니다.
예시) LIMIT 5; = 행 5개가 출력됩니다.
⦁ DISTINCT 중복제거
SELECT DISTINCT 컬럼명 FROM 테이블명
중복된 행은 한개만 남겨두고 모두 제거합니다.
⦁ AS 별칭 지정
SELECT SAL*12+COMM AS ANNSAL FROM EMP;
컬럼에 다음과 같이 연산을 할 수 있습니다. 하지만 이렇게 사용하게 되면
컬럼명이 보기 어렵고 난잡해지기 때문에 AS로 별칭을 줄 수 있습니다.
🤔AS를 생략하고 한 칸 띄워도 똑같이 동작합니다.
하지만 실무에서는 쿼리문의 길이가 길기 때문에 알아보기 쉽도록 AS를 사용하는 것이 좋습니다.
⦁ IN
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 IN (데이터1, 데이터2 ... )
여러 개의 OR 집합입니다. 일반적으로 OR 대신 IN을 사용할 수 있는 경우라면
IN을 사용하는 것이 좋습니다. 가독성이 좋고 경우에 따라 서브 쿼리를 사용할 수 있기 때문입니다.
⦁ NOT IN
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 NOT IN (데이터1, 데이터2 ... )
AND, OR이 사용가능하기 때문에 NOT도 사용할 수 있습니다.
NOT IN을 사용하게 되면 데이터를 포함하지 않는 행을 출력합니다.
⦁ BETWEEN
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 BETWEEN 최소값 AND 최대값
최소값 ~ 최대값 사이의 해당하는 데이터를 출력합니다.
>=와 같은 비교 연산자를 사용해도 되지만, BETWEEN이 더 간단하게 표현할 수 있습니다.
⦁ LIKE 검색 기능
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '%S%'
게시판 제목 또는 내용 검색 기능처럼 일부 문자열이 포함된 데이터를 조회할 때 사용합니다.
🤔%, _를 찾고싶다면 어떻게 하나요?
%문자나, _문자를 포함한 데이터를 조회하기 위해서 와일드 카드 문자를 쓰는 것은 애매합니다.
따라서 ESCAPE절이 존재합니다. 와일드 카드 문자를 임의로 변경하는 것인데
LIKE 'A@_A%' ESCAPE '@';
처럼 아무 다른 문자를 지정하여 사용할 수 있습니다.
⦁ IS NULL
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 IS NULL;
WHERE절은 조건식의 결과 값이 true인 행만 출력하게 됩니다.
연산 결과 값이 NULL인 경우 true도 false도 아니게 되므로 출력 대상에서
제외됩니다. 따라서 NULL인지 확인하기 위해 IS NULL을 사용합니다.
+ IS NOT NULL도 가능합니다.
참고 문헌 :
DO it! 오라클로 배우는 데이터베이스 입문
'DB > Oracle' 카테고리의 다른 글
[DB] 이클립스에서 SQL 쿼리문 실행하기 (Data Source Explorer, Oracle) (0) | 2022.10.12 |
---|---|
[Oracle] 오라클 DB 사용자 관리, 스키마란? (사용자 생성, 권한부여) (2) | 2022.10.06 |
[Oracle] 오라클 학습용 계정 SCOTT, HR 활성화하기 (스콧 계정 에러) (2) | 2022.09.23 |