SELECT문


■ 1. SQL 작성 지침 
- 대소문자 구별안함, 들여쓰기 

■ 2. SQL문의 기본 구조 


■ 3. 원하는 것 정의/요청 하기
- 정의/요청 위치
   SELECT절과 FROM절 사이, select-list : 원하는 것(what)을 요구사항에 맞게(how) 정의하여 나열 
- select-list에 가능한 요소
   *(아스타), 테이블명.* : 모든컬럼 
   컬럼, 리터럴, 수식, 함수, 스칼라 서브쿼리 > 값 
- EX 모든 부서에 대한 전체 정보를 일련번호를 붙여서 출력하세요
   SELECT ROWNUM, departments.*
   FROM 부서 테이블
- 식별자(identifier)
   데이터베이스 객체이름, 컬럼이름, 컬러별칭 
- 식별자 이름 지정 규칙
   영문자로 시작, 30 byte 이하, #, $, _을 제외한 특수문자 불가, 키워드/예약어 불가
   예외: quoted name 방식 CREATE TABLE "from" (no NUMBER); 여기선 대소문자 구분, "" 로 사용해야함

■ 4. 컬럼 별칭(column alias)
- 용도
   Column heading(필드 이름 아닌 select에서 정의 한 컬럼 이름)이 너무 길거나 특수문자 포함
   계산식에서 유용, 뷰 정의시 CTAS 방식으로 테이블 생서이 유용    
- 정의방식(3)
   한 칸 띄움, AS 키워드, 큰 따옴 표 
- 제한
   정의는 SELECT 절에서,
   사용은 ORDER BY절에서 (from, where, group by, having, select 절에서는 사용 불가) 
   1~6 순서 생각하면 됨.
   
▶5. DISTINCT(중복된 값을 하나만 고려)
SELECT job_id
 FROM employees;

SELECT DISTINCT job_id
 FROM emplyees;

SELECT job_id
 FROM employees
GROUP BY job_id;

[사원들의] 커미션 비율을 중복없이 출력하세요
SELECT DISTINCT 커미션 비율
 FROM 사원 테이블

[부서별 사원의] 직무를 중복없이 출력하세요
SELECT DISTINCT department_id, job_id (전체에 대한 DISTINCT)
 FROM 사원 테이블 
요거 조회 결과 이해하기!
 


+ Recent posts