SQL SELECT 구문 정리 및 예시
SELECT
구문은 SQL에서 데이터베이스로부터 데이터를 조회하는 가장 기본적인 구문입니다. 데이터베이스에서 원하는 데이터를 다양한 조건으로 조회할 수 있으며, 필요한 데이터를 선택해 가공할 수도 있습니다.
기본 구문 형식
SELECT [DISTINCT] { * | column [[AS] alias], ... }
FROM table
[WHERE condition]
[ORDER BY column [ASC | DESC]];
구성 요소 설명
- SELECT: 하나 이상의 열을 선택합니다.
- DISTINCT: 중복되는 행을 제거합니다.
- *: 테이블의 모든 열을 선택합니다.
- column: 특정 열을 지정하여 조회합니다.
- AS: 선택된 열의 별칭(alias)을 지정합니다.
- alias: 출력 시 열의 이름을 변경합니다.
- FROM table: 데이터를 조회할 테이블을 명시합니다.
- WHERE: 조건에 맞는 행만 선택합니다.
- ORDER BY: 특정 열을 기준으로 결과를 정렬합니다.
- ASC: 오름차순 정렬 (기본값).
- DESC: 내림차순 정렬.
SQL 예시 및 설명
1. 기본 SELECT 문
-- EMPLOYEES 테이블의 모든 데이터를 조회
SELECT * FROM EMPLOYEES;
2. 특정 열만 조회
-- EMPLOYEES 테이블에서 특정 열만 선택 (이름, 입사일, 이메일, 급여)
SELECT FIRST_NAME, HIRE_DATE, EMAIL, SALARY FROM EMPLOYEES;
3. 열에 대한 연산 수행
-- 급여에 10% 추가된 값을 계산하여 출력
SELECT FIRST_NAME, SALARY, SALARY + SALARY * 0.1 AS "최종 급여" FROM EMPLOYEES;
4. 문자열 연결
-- 문자열을 연결하여 출력
SELECT FIRST_NAME || ' 님의 급여는 ' || SALARY || '$ 입니다' AS 급여 FROM EMPLOYEES;
5. DISTINCT로 중복 제거
-- DEPARTMENT_ID가 중복되지 않도록 조회
SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES;
6. WHERE 절 조건문
-- 급여가 10000 이상인 직원만 조회
SELECT * FROM EMPLOYEES WHERE SALARY >= 10000;
7. ORDER BY로 정렬
-- 급여가 높은 순으로 정렬하여 조회
SELECT FIRST_NAME, SALARY FROM EMPLOYEES ORDER BY SALARY DESC;
8. WHERE와 조건문 결합
-- 2003년도에 입사한 직원 조회 (LIKE 연산자 사용)
SELECT FIRST_NAME, HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE LIKE '03%';
DCL (Data Control Language)
DCL은 데이터베이스 사용자 권한을 관리하는 구문을 말하며, 주로 권한 부여와 회수에 사용됩니다. DCL은 데이터의 보안과 접근 제어를 담당합니다.
DCL 구문
- GRANT: 특정 사용자에게 권한을 부여합니다.
- REVOKE: 특정 사용자의 권한을 회수합니다.
GRANT 구문
GRANT {권한} ON {대상} TO {사용자};
- 권한: SELECT, INSERT, UPDATE, DELETE, EXECUTE 등.
- 대상: 테이블, 뷰, 프로시저 등.
- 사용자: 권한을 부여받을 사용자.
GRANT 예시
-- 사용자 'john'에게 EMPLOYEES 테이블에 대한 SELECT 권한 부여
GRANT SELECT ON EMPLOYEES TO john;
REVOKE 구문
REVOKE {권한} ON {대상} FROM {사용자};
- 권한: SELECT, INSERT, UPDATE, DELETE, EXECUTE 등.
- 대상: 테이블, 뷰, 프로시저 등.
- 사용자: 권한을 회수할 사용자.
REVOKE 예시
-- 사용자 'john'의 EMPLOYEES 테이블에 대한 SELECT 권한 회수
REVOKE SELECT ON EMPLOYEES FROM john;
추가적인 권한 제어
GRANT OPTION: 다른 사용자에게 권한을 부여할 권한도 부여합니다.
GRANT SELECT ON EMPLOYEES TO john WITH GRANT OPTION;
PUBLIC: 모든 사용자에게 권한을 부여합니다.
GRANT SELECT ON EMPLOYEES TO PUBLIC;
이번 포스팅에서는 SELECT 구문의 구성 요소와 다양한 사용 예시, 그리고 데이터베이스 접근 권한을 제어하는 DCL에 대해 설명했습니다. SELECT
는 데이터 조회의 핵심 구문이며, GRANT
와 REVOKE
는 데이터베이스 보안에서 중요한 역할을 합니다.
'🗄️ Backend > SQL' 카테고리의 다른 글
SQL 서브쿼리 (Subquery)와 데이터 조작 명령어 (DML) 정리 (4) | 2024.10.14 |
---|---|
그룹 함수 및 조인 함수 구문 (0) | 2024.10.11 |
숫자 함수 및 SQL 함수 정리 (3) | 2024.10.11 |
RDBMS (관계형 데이터베이스 관리 시스템)의 이해: 개념과 SQL 기본 구문 (0) | 2024.10.11 |
JDBC를 이용한 Oracle 데이터베이스 연동 및 회원 정보 관리 (0) | 2024.10.11 |