Insertion
문법
INSERT INTO R VALUES (v1, v2, ..., vn);
예제
StarsIn(movieTitle, movieYear, starName) Movie(TITLE, YEAR, length, inColor, studioName, producerCNo)
// INSERT 문은 기본적으로 테이블의 속성 순서대로 삽입됨
INSERT INTO StarsIn
VALUES ('The Maltese Falcon', 1942, 'Sydney Greenstreet');
// SELECT 문에서는 NULL을 사용할 수 없었지만 INSERT문에서는 NULL 가능
INSERT INTO Movie VALUES ('Star Wars', 1997, 121, 'T', 'Fox', NULL);
// DEFAULT로 값을 지정하면 미리 지정해둔 DEFAULT 값으로 삽입됨
INSERT INTO Movie VALUES ('Star Wars E5', 1980, 124, 'T', DEFAULT, 101);
// 테이블의 속성을 직접 지정하여 삽입할 수도 있음
// 나타내지 않은 속성의 값은 NULL로 삽입됨
INSERT INTO StarsIn(movieTitle, movieYear)
VALUES ('The Maltese Falcon', 1942),
('Big Fish', 2003),
('Inception', 2010);
// 조회한 값을 바로 삽입할 수 있음
INSERT INTO Studio(name)
SELECT DISTINCT studioName
FROM Movie
WHERE studioName
NOT IN (SELECT name FROM Studio);
상수 테이블: VALUES
문법
VALUES ( expression[,...]) [,...]
예제
// 상수 테이블 생성 VALUES (1, 'one'), (2, 'two'), (3, 'three');
// VALUES를 통해 생성한 상수 테이블을 tb1(num, letter)로 alias를 준 뒤
// 모든 튜플을 조회하는 질의
SELECT * FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')) AS tb1(num, letter);
Deletion
문법
DELETE FROM R WHERE <condition>;
예제
// StarsIn의 조건에 부합하는 튜플 삭제
DELETE FROM StarsIn
WHERE movieTitle = 'The Maltee Falcon'
AND movieYear = 1942
AND starName = 'Sydney Greenstreet';
// StarsIn 테이블의 모든 튜플 삭제
DELETE FROM StarsIn;
Updates
문법
UPDATE R SET <value assignment> WHERE <condition>;
예제
// MovieExec에서 certNo가 Studio의 presCNo에 존재하면
// 'Pres. + 기존 name' 으로 갱신하는 질의
UPDATE MovieExec
SET name = 'Pres.' || name
WHERE certNo IN (SELECT presCNo FROM Stduio);
Uploaded by Notion2Tistory v1.1.0