SQL질의(2)

DB 2015.10.02 21:49

SQL 갱신문


INSERT

INSERT INTO EMPLOYEE
VALUES ('Richard','K','Marini','653298653','30-DEC-52','98 Oak Forest, Katy, TX','M',37000,'987654321',4) ;


INSERT   INTO   EMPLOYEE (FNAME, LNAME, SSN)
 VALUES   ('Richard', 'Marini', '653298653') ;


INSERT  INTO        DEPTS_INFO     (DEPT_NAME, NO_OF_EMPS, TOTAL_SAL )

                                     SELECT              DNAME, COUNT (*), SUM  

                                                                 (SALARY)

                                     FROM                  DEPARTMENT, EMPLOYEE

                                     WHERE               DNUMBER=DNO

                                     GROUP BY          DNAME ;

DELETE

(1)  DELETE   FROM     EMPLOYEE
 WHERE    LNAME='Brown’ ;

(2)  DELETE   FROM     EMPLOYEE

 WHERE   SSN='123456789’ ;

(3)  DELETE   FROM     EMPLOYEE

 WHERE    DNO IN   (SELECT   DNUMBER

 FROM     DEPARTMENT

WHERE    DNAME='Research’ ) ;

(4)  DELETE  FROM     EMPLOYEE ;



UPDATE

(1) 10번 프로젝트를  담당하는  부서의  위치와  번호를  각각  Bellaire’   5  변경하라.

UPDATE     PROJECT

SET             PLOCATION='Bellaire', DNUM=5

WHERE       PNUMBER=10 ;

      (2) 'Research' 부서에 있는 모든 종업원들의 봉급을 10% 인상하라.

UPDATE     EMPLOYEE

SET             SALARY=SALARY*1.1

WHERE       DNO IN   

(SELECT   DNUMBER

FROM       DEPARTMENT
WHERE    DNAME='Research') ;

'DB' 카테고리의 다른 글

SQL질의(2)  (0) 2015.10.02
SQL질의(1)  (0) 2015.10.02

WRITTEN BY
SmartNa

받은 트랙백이 없고 , 댓글이 없습니다.

트랙백을 보내세요

트랙백 주소 :: http://itssue.tistory.com/trackback/2 관련글 쓰기
secret

SQL질의(1)

DB 2015.10.02 15:34

SQL 질의


스키마 / 릴레이션 / 테이블 / 튜플 / 애트리뷰트

구조

SELECT <애트리뷰트>
FROM <테이블>
WHERE <조건>

ex1)
SELECT BDATE, ADDRESS
FROM EMPLOYEE
WHERE FNAME='Na' AND LNAME='PARK' ;

ex2) 학교와 부서 모두 이름이라는 속성이 있을때!
SELECT AGE
FROM SCHOOL, DEPARTMENT
WHERE DEPARTMENT.AGE='10' AND DEPARTMENT.NAME = SCHOOL.NAME ;

별명 사용

ex3)
EMPLOYEE AS E(FN, MI, LN, SSN, BD, ADDR, ...);

WHERE절의 생략? 튜플 선택에 대한 조건이 없다는 것. 지정 릴레이션의 모든 튜플들이 질의결과로!

'*'의 사용? SELECT 절에서 사용시 모든 애트리뷰트를 선택하겠다는 것!

ex4) DISTINCT? 중복제거
SELECT DISTINCT SALARY
FROM EMPLOYEE;

ex5) UNION? 합집합 조건 찾기! 일반직원이든 프로젝트를 담당하는 부서의 관리자이든 스미스씨를 포함하는 프로젝트 번호!
(SELECT PNUMBER
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE DNUM=DNUMBER AND MGRSSN=SSN AND LNAME='smith')
UNION
(SELECT PNUMBER
FROM PROJECT, WORKS_ON, EMPLOYEE
WHERE PNUMBER=PNO AND ESSN=SSN AND LNAME='smith');

ex6)
...
WHERE SSN IN (SELECT ... FROM ... WHERE ...);

WHERE ... ANY, SOME / =,>,>=,<,<=,<> 로 집합의 크기 결정!

WHERE ... ALL / >,>=,=,<,<>

WHERE EXIST (...); / NOT EXIST (...); => 참/거짓 반환

SELECT E.LNAME AS EMPLOYEE_NAME ... 속성명 재명명

INNER JOIN = JOIN

OUTER JOIN = LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN.
ex7) 
... FROM (EMPLOYEE E LEFT OUTER JOIN EMPLOYEE S ON E.SUPERSSN = S.SSN);

집단함수는 SELECT SUM(SALARY), MAX(...), MIN(...), AVG(...), COUNT(*)

그룹화? 릴레이션 내에 있는 튜플들을 부분 집단에 집단함수를 적용
ex8)
...
GROUP BY DNO;

ex9) 부분 문자열 비교
...
WHERE ADDRESS LIKE '%Houston, TX%';

ex10) 정렬
SELECT ...
FROM ...
WHERE ...
ORDER BY NAME;

ORDER BY NAME DESC, AGE ASC; / DESC 내림차순 ASC 오름차순, 생략가능





'DB' 카테고리의 다른 글

SQL질의(2)  (0) 2015.10.02
SQL질의(1)  (0) 2015.10.02

WRITTEN BY
SmartNa

받은 트랙백이 없고 , 댓글이 없습니다.

트랙백을 보내세요

트랙백 주소 :: http://itssue.tistory.com/trackback/1 관련글 쓰기
secret