--유형1 : 칼럼 순서대로 기술 필요X. 빠진 칼럼은 Default로 "NULL"(PK, NOT NULL 제외) INSERT INTO 테이블명(속성명1, 속성명2, ...) VALUES (데이터1, 데이터2, ...); --유형2 : 칼럼 순서대로 빠짐없이! INSERT INTO 테이블명 VALUES (데이터1, 데이터2, ...);
UPDATE 테이블명 SET 속성명1=데이터1[, 속성명2=데이터2, ...] [WHERE 조건];
DELETE [FROM] 테이블명 [WHERE 조건];
SELECT [Predicate] [테이블명|테이블별칭.]속성명[ [AS] 별칭][, [테이블명|테이블별칭.]속성명[ [AS] 별칭][, ...]] --전체 칼럼 지정은 "*"(Asterisk) FROM 테이블명1[ [AS] 별칭][, 테이블명2[ [AS] 별칭], ...] --※ TABLE에 별칭(Alias)를 지정했을 경우, SELECT와 WHERE절에 별칭을 반드시 사용해야 한다! [WHERE 조건] [GROUP BY 표현식|속성명[, 속성명, ...] [HAVING 조건]] --GROUP에 대한 조건 기술 [ORDER BY 표현식|속성명 [ASC|DESC][, 속성명 [ASC|DESC], ...]] -- 별칭 지정 방법2 : 공백, 특수문자 포함 or 대소문자 구분이 필요한 경우 SELECT [Predicate] [테이블명.]속성명 [AS] "별칭" [, [테이블명.]속성명 [AS] "별칭", ...] ...
⑤ SELECT
① FROM
② WHERE
③ GROUP BY
④ HAVING
⑥ ORDER BY
추출 대상 테이블 참조 (FROM)
→ 추출 대상 데이터만 거르기 (WHERE)
→ 행들을 소그룹화 (GROUP BY)
→ 소그룹의 대상 데이터만 거르기 (HAVING)
→ 데이터 값 출력/계산 (SELECT)
→ 데이터 정렬 (ORDER BY)
증명1) SELECT 절에 없는 칼럼을 ORDER BY 절에 사용. (⑤ SELECT → ⑥ ORDER BY)
SELECT EMPNO FROM EMP ORDER BY MGR;
증명2) Sub Query(인라인 뷰에서 정의된 SELECT) 칼럼을 Main Query에서 사용 (① FROM → ~ → ⑤ SELECT)
SELECT EMPNO -- 만약 FROM절에서 정의되지 않은 테이블|표현식(칼럼) 사용하면 Error. FROM (SELECT EMPNO, ENAME FROM EMP ORDER BY MGR);
연산자를 사용할 경우, 칼럼 Label이 길어지고 칼럼에 새 의미를 부여하기 때문에 별칭(Alias)를 부여하는 것이 좋다!
SELECT NAME 이름, ROUND(WEIGHT/POWER(HEIGHT,2), 2) "BMI 비만지수" -- 비만지수(Body Mass Index) FROM SCHOOL;
표
SELECT NAME || '의 키는 ' || HEIGHT || 'cm' 몸무게 FROM SCHOOL;
표
표
표
표
:: ☞ GROUP BY 이후에 수행 절인( SELECT문 실행(읽는) 순서) SELECT절 or ORDER BY절에서 개별 데이터를 사용하는 경우 Error!
예) 최대키가 190cm 이상인 포지션의 평균키 출력
SELECT POSITION, MIN(HEIGHT), MAX(HEIGHT), ROUND(AVG(HEIGHT), 2) FROM PLAYER GROUP BY POSITION HAVING MAX(HEIGHT) >= 190;
SELECT DNAME, LOC CITY, DEPTNO FROM DEPT ORDER BY 1, CITY, 3 DESC; -- 가장 마지막에 붙인 옵션이 전체 적용.