SELECT 


SELECT Predicate [테이블명.]속성명1, [테이블명.]속성명2, ...

FROM 테이블명1, 테이블명2, ...

[WHERE 조건]

[GROUP BY 속성명1, 속성명2, ...]

[HAVING 조건]

[ORDER BY 속성명 [ASC | DESC]];

SELECT

 - 속성명 : 기본 테이블을 구성하는 모든 속성을 지정할 때는 '*'를 기술한다.

    두 개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현한다.

 - predicate :  불러올 튜플 수를 제한할 명령어를 기술한다.

    ALL(생략), DISTINCT(중복 제거), DISTINCTROW

FROM

WHERE

 - 비교연산자 : =, <, >, <=, >=, IN(포함)

 - 논리 연산자 : NOT, AND, OR

 - LIKE : *, %, ?, _, #를 사용한 문자패턴 검색

GROUP BY : 특정 속성을 기준으로 그룹화하여 검색할 때 그룹화할 속성을 지정

 - COUNT(속성명) : 그룹별 튜플 수를 구하는 함수

 - MAX(속성명) : 그룹별 최대값을 구하는 함수

 - MIN(속성명) : 그룹별 최소값을 구하는 함수

 - SUM(속성명) : 그룹별 합계를 구하는 함수

 - AVG(속성명) : 그룹별 평균을 구하는 함수

HAVING : GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정한다.

ORDER BY : 특정 속성을 기준으로 정렬하여 검색할 때 사용


ex1 ) SELECT * FROM 사원;

ex2 ) SELECT DISTINCT 주소 FROM 사원;

ex3 ) SELECT 부서, "부서의", 이름, "의 월급", 기본급+10 FROM 사원;


ex4 ) SELECT * FROM 사원 WHERE 부서='기획' OR 부서='인터넷';

ex5 ) SELECT * FROM 사원 WHERE 이름 LIKE "김%";

ex6 ) SELECT * FROM 사원 WHERE 생일 BETWEEN #01/09/69 AND #10/22/73#;


ex7 ) SELECT * FROM 사원 ORDER BY 부서 ASC, 이름 DESC;

ex8 ) SELECT 부서, AVG(부서) AS 평균 FROM 사원 GROUP BY 부서;

ex9 ) SELECT 부서, COUNT(*) AS 사원수 

FROM 사원 

WHERE 기본급>=100 

GROUP BY 부서 

HAVING COUNT(*)>=2;


ex10 ) SELECT * FROM 사원 WHERE 이름 NOT IN (SELECT 이름 FROM 여가활동);

ex11 ) SELECT 사원.이름 사원.부서, 여가활동.취미, 여가활동.경력

FROM 사원, 여가활동

WHERE 여가활동.경력>=10 AND 사원.이름=여가활동.이름;


ex12 ) SELECT * FROM 사원

UNION

SELECT * FROM 직원;







INSERT INTO 

 - 기본 테이블에 새로운 튜플을 삽입할 때 사용


INSERT INTO 테이블명(속성명1, 속성명2, ...)

VALUES(데이터1, 데이터2, ...);








DELETE FROM

 - 기존 테이블에 있는 튜플들 중에서 특정 튜플을 삭제할 때 사용


DELETE FROM 테이블명 WHERE 조건;








UPDATE SET

 - 기본 테이블에 있는 튜플들 중에서 특정 튜플의 내용을 변경할 때 사용


UPDATE 테이블명 

SET 속성명=데이터[, 속성명=데이터]

WHERE 조건;


'ComputerScience > Database' 카테고리의 다른 글

뷰(VIEW)  (0) 2017.10.25
SQL - DDL  (0) 2017.10.20
정규화  (0) 2017.10.19

+ Recent posts