기록을 합시다.
[SQL] ORACLE SQL 공부 -1- 본문
SQLD 자격증을 땄지만, 기억도 가물가물하고 PL/SQL문을 공부할 일이 생겨서 '초보자를 위한 SQL 200제'라는 책을 읽게 되었다. 특히 PL/SQL 공부를 많이 해야할 것 같지만 ^^.. 아무튼 이번주 일요일까지 꾸준히 공부한 것을 올리려고 한다.
(나 자신 파이팅..)
참고로 포스팅에 있는 내용들은 책에 있는 모든 내용들을 담지 않았다. 다들 꼭 책 사거나 빌려서 보세여 ㄱ=..
SELECT
문은 SQL에서 데이터를 조회하는 가장 기본적인 명령어다. 데이터베이스 테이블에서 원하는 데이터를 선택하여 가져올 수 있다.
1. 기본 SELECT
문
SELECT empno, ename, sal
FROM emp;
SELECT
: 데이터를 선택하라는 명령을 나타낸다.empno, ename, sal
: 출력하고 싶은 열(Column)을 콤마(,)로 구분하여 작성한다.FROM emp
: 데이터를 저장하고 있는 테이블명을 지정한다.
2. 테이블의 모든 열 출력
SELECT *
FROM emp;
*
를 사용하여 테이블의 모든 열을 출력할 수 있다.
3. 컬럼 별칭(column alias)을 이용해 출력 컬럼명 변경
SELECT empno AS "사원 번호", ename AS "사원 이름", sal AS "월급"
FROM emp;
- 출력되는 컬럼명을 변경하고자 할 때는
AS
키워드 뒤에 원하는 출력 컬럼명을 작성한다. - 컬럼 별칭은 쌍따옴표로 감싸준다.
4. 연결 연산자 사용(||)
SELECT ename || '의 월급은 ' || sal || '입니다' AS "월급 정보"
FROM emp;
||
연결 연산자를 이용하여 컬럼과 문자열을 연결할 수 있다.
5. 중복된 데이터를 제거해서 출력하기 (DISTINCT)
SELECT DISTINCT job
FROM emp;
DISTINCT
키워드를 사용하여 중복된 데이터를 제거하여 출력할 수 있다.
6. 데이터 정렬해서 출력 (ORDER BY)
SELECT ename, sal
FROM emp
ORDER BY sal ASC;
ORDER BY
를 사용하여 데이터를 정렬할 수 있다.
7. 데이터 검색하기 (WHERE 절)
SELECT ename, sal, job
FROM emp
WHERE sal = 3000;
WHERE
절을 사용하여 원하는 조건을 지정하여 데이터를 검색할 수 있다.
8. NULL 값 다루기 (NVL 함수)
SELECT ename, sal + NVL(comm, 0) AS "총 수입"
FROM emp;
NVL
함수를 사용하여NULL
값을 처리할 수 있다.
9. 비교 연산자 사용
SELECT ename, sal
FROM emp
WHERE sal > 3000;
- 비교 연산자를 사용하여 데이터를 비교할 수 있다.
10. 문자 패턴 비교 (LIKE 연산자)
SELECT ename, sal
FROM emp
WHERE ename LIKE 'S%';
LIKE
연산자를 사용하여 문자 패턴을 검색할 수 있다.- %는 갯수 제한 없이 여러 문자를 뜻하고, _는 한 개의 문자이되 어떤 문자이든 상관 없음을 뜻한다.
11. NULL 값 검색 (IS NULL 연산자)
SELECT ename, comm
FROM emp
WHERE comm IS NULL;
IS NULL
연산자를 사용하여NULL
값을 검색할 수 있다.
12. 리스트 값 검색 (IN 연산자)
SELECT ename, sal, job
FROM emp
WHERE job IN ('SALESMAN', 'ANALYST', 'MANAGER');
IN
연산자를 사용하여 여러 값들을 조회할 수 있다.
13. 논리 연산자 (AND, OR, NOT)
SELECT ename, sal, job
FROM emp
WHERE job = 'SALESMAN' OR sal > 3000;
AND
,OR
,NOT
논리 연산자를 사용하여 여러 조건을 조합하여 데이터를 조회할 수 있다.
공부를 하면서 잊고 있었던 것을 확실하게 알게 된 느낌이다.
특히 IS NULL이랑 NVL 복습이 조금 필요 했었다.
거짓말 아니고 IS NULL이 아니라 = NULL 이런 형태로 NULL 값을 찾았던 기억이 있어서.. ㄱ=
아무튼 이 부분은 확실히 이해한 것 같다. 내일은 함수들 관련 파트 공부해봐야지..
'공부 > DB' 카테고리의 다른 글
[SQL] ORACLE SQL 공부 -4- (2) | 2023.08.06 |
---|---|
[SQL] ORACLE SQL 공부 -2- (0) | 2023.07.29 |
[docker] 팀원들이랑 사용할 oracle 도커 이미지 만들기 (1) | 2023.05.30 |
[Oracle] 데이터베이스 생성 및 계정 생성 (0) | 2023.04.25 |
[Oracle] Oracle 21C XE Windows11에서 설치하기 + SQL Developer (1) | 2023.04.25 |
Comments