1. 기초
1. 기초 지식
- SQL 명령은 대소문자를 구분하지 않으며 하나의 명령으로 처리되도록 ';' 기호 사용
- SQL 명령은 대소문자를 구분하지 않지만 ''에 들어가는 문자값은 대소문자를 구분
- 식별자(테이블 명, 컬럼명, 별칭 등)은 스네이크 표기법 사용하여 작성
- SQL 명령은 예약어(키워드)와 사용자 정의 명칭(식별자)의 단어로 구성
- 테이블 (TABLE) : 데이터베이스에서 데이터(행)을 저장하기 위한 기본 객체
- DQL (DATA QUERY LANGUAGE) : 테이블에 저장된 행을 검색하기 위한 SQL 명령 (데이터 질의어)
2. Oracle SQL Developer
- [CTRL] + [ENTER] : 커서 위치의 SQL 명령을 전달하여 실행
- [F5] : 워크시트에 작성된 모든 SQL 명령을 전달하여 실행
- USER : 현재 접속사용자의 이름을 표현하기 위한 키워드
- SHOW USER : 현재 서버에 접속한 사용자의 이름을 확인하기 위한 명령
- SELECT TABLE_NAME FROM TABS : 현재 접속 사용자가 접근 가능한 스키마에 존재하는 테이블 목록 확인
- DESC [테이블명] : 테이블의 구조 확인 (컬럼명과 자료형)
3. DQL (DATA QUERY LANGUAGE)
- SELECT : 하나 이상의 테이블에서 행을 검색하기 위한 명령
2. SELECT
- SELECT : 하나 이상의 테이블에서 행을 검색하기 위한 명령
- 검색대상 : * (모든 컬럼), 컬럼명, 연산식, 함수 등
- 검색문자 : [%] (전체), [_] (문자 하나)
- COLUMN ALIAS : 검색대상에 별칭을 부여하는 기능
=> 검색대상을 명확하게 구분하기 위해 COLUMN ALIAS 기능 사용
- 컬럼명 BETWEEN 작은값 AND 큰값 : 범위를 효현한 조건식을 이용하여 컬럼값이 작은값부터 큰 값 범위에 포함될 경우의 행 검색
- 컬럼명 IN (값, 값, ...) : 컬럼값이 나열된 값들중 하나에 포함되도록 행을 검색
- 컬럼명 LIKE '검색문자를 포함한 비교값' : 검색문자를 이용하여 컬럼값을 비교 검색할 경우 [=] 연산자 대신 LIKE 키워드 사용
- 컬럼명 IS NULL or 컬럼명 IS NOT NUL : IS 키워드를 사용하여 NULL을 구분하는 조건식 사용
여러 형식
SELECT 검색대상, 검색대상, ... FROM 테이블명
=> 하나의 테이블에 저장된 모든 행을 검색하기 위한 SELECT 명령
SELECT 검색대상 (AS) 별칭, 검색대상 (AS) 별칭, ... FROM 테이블명
SELECT 검색대상, 검색대상, 검색대상 * 12 FROM 테이블명
=> 검색대상으로 컬럼값을 이용한 연산식 사용 가능
SELECT 검색대상 || 검색대상 FROM 테이블명
=> 검색대상에 || 기호를 사용하여 문자값으로 결합하여 검색
SELECT DISTINCT 검색대상, 검색대상, ... FROM 테이블명
=> 검색대상의 중복값을 제외하고 유일한 하나의 컬럼값만 검색
SELECT 검색대상, 검색대상, ... FROM 테이블명 WHERE 조건식
=> 조건식을 사용하여 조건이 참인 행만 검색
SELECT 검색대상, 검색대상, ... FROM 테이블명 WHERE NOT(검색대상='');
=> NOT 키워드를 사용하여 조건식의 결과가 참이 아닌 거짓인 행만 검색
SELECT 검색대상, 검색대상, FROM 테이블명 ORDER BY 검색대상 DESC, 검색대상 DESC, ...
=> 테이블에 저장된 모든 검색대상을 내림차순 정렬 검색
SELECT 검색대상, 검색대상, FROM 테이블명 ORDER BY 검색대상 (ASC), 검색대상 (ASC), ...
=> 테이블에 저장된 모든 검색대상을 오림차순 정렬 검색