SELECT 문
f
firststep 에디터
IT / 자격증 전문 라이터
2026년 2월 23일801
SELECT 문
1) SELECT vs SELECT DISTINCT
SELECT
- 테이블에서 원하는 컬럼을 조회합니다.
- 기본은 중복이 있어도 그대로 전부 출력(ALL) 입니다.
SELECT ENAME, JOB
FROM EMP;
SELECT DISTINCT
- 조회 결과에서 중복을 제거하고 “고유한 값만” 보여줍니다.
SELECT DISTINCT JOB
FROM EMP;
✅ 예시
EMP에 JOB이 MANAGER가 여러 번 있어도, DISTINCT를 쓰면 MANAGER는 1번만 나옵니다.
2) *(별표)의 의미
- SELECT * 는 모든 컬럼을 전부 조회입니다.
SELECT *
FROM EMP;
⚠️ 실무에서는 컬럼을 명시하는 걸 더 권장합니다(불필요한 데이터까지 가져오기 쉬움).
3) 별칭(ALIAS) 사용
- 컬럼/테이블에 임시 이름을 붙여서 결과를 보기 좋게 하거나 쿼리를 짧게 합니다.
컬럼 별칭
SELECT
EMPNO AS 사번,
ENAME AS 사원이름
FROM EMP;
- 별칭에 공백이 있으면 DB에 따라 따옴표가 필요할 수 있음(오라클은 "사원 번호" 형태).
테이블 별칭(조인에서 많이 씀)
SELECT A.EMPNO, A.ENAME
FROM EMP A;
4) 산술 연산자(+, -, *, /, % 또는 MOD)
- 숫자 컬럼끼리 계산해서 “새 컬럼”을 만들 수 있습니다.
예시: 총 보상(월급 + 커미션)
커미션이 NULL이면 계산이 NULL이 될 수 있으니 NVL로 0 처리를 같이 씁니다.
SELECT
ENAME,
SAL,
COMM,
(SAL + NVL(COMM, 0)) AS TOTAL_COMP
FROM EMP;
나머지 연산
- MySQL/PostgreSQL은 % 가능
- 오라클은 보통 MOD() 사용
SELECT
ENAME,
EMPNO,
CASE WHEN MOD(EMPNO, 2) = 0 THEN '짝수' ELSE '홀수' END AS ID_TYPE
FROM EMP;
5) 문자 합성(문자열 결합)
- 여러 문자열을 붙여서 하나의 문장처럼 만들 수 있습니다.
오라클: ||
SELECT
ENAME || ' is a ' || JOB AS EMPLOYEE_INFO
FROM EMP;
✅ 결과 예시
KING is a PRESIDENT
- SQL Server는 보통 +로 문자열 결합을 많이 씁니다.
- DB 공통으로는 CONCAT()도 사용 가능(지원 범위는 DB마다 다름).
6) 오라클의 DUAL 테이블
- 오라클에는 FROM이 필요할 때가 많아서,
- “임시로 한 줄을 제공하는” 특수 테이블이 DUAL입니다.
예시
SELECT SYSDATE
FROM DUAL;
SELECT SQRT(16)
FROM DUAL;
✅ 용도
- 시스템 날짜 확인, 함수 테스트, 간단 계산 결과 확인할 때 자주 씁니다.
초간단 요약
- SELECT: 조회(중복 포함)
- DISTINCT: 중복 제거
- ALIAS: 결과 보기 좋게 이름 붙이기
- 산술 연산: 계산 컬럼 만들기(+ NVL로 NULL 처리)
- 문자 합성: 오라클은 ||
- DUAL: 오라클에서 함수/계산 테스트용 1행 테이블
f
firststep 에디터 · IT / 자격증 전문 라이터
firststep.kr의 실무 에디터로서 무언가를 처음 도전하는 분들이 헤매지 않도록 검증된 지식과 실습 가이드를 작성합니다.
댓글 0개
댓글을 작성하려면 로그인이 필요합니다
간단한 이메일과 비밀번호로 3초 만에 가입하고 의견을 남겨보세요.
첫 번째 댓글을 남겨보세요!