ABAB 프로그램 내에서 데이터베이스와 상호작용하기 위해 사용하는 SQL 명령어. 데이터 조회, 삽입, 수정, 삭제 등에 사용
SELECT 문
데이터를 조회하는데 사용
SELECT <필드 목록> INTO <내부 테이블 또는 워크 영역>
FROM <테이블>
WHERE <조건>.
예제
SELECT * INTO TABLE lt_result
FROM sflight
WHERE carrid = 'LH'.
INSERT 문
데이터를 삽입하는데 사용
INSERT INTO <테이블> VALUES <값 목록>.
예제
INSERT INTO sflight VALUES ('LH', '400', '20230729', 'FRA', 'JFK', '747', 200, 150, 50).
UPDATE 문
데이터를 수정하는데 사용
UPDATE <테이블> SET <필드1 = 값1, 필드2 = 값2, ...>
WHERE <조건>.
예제
UPDATE sflight SET seatsmax = 300
WHERE carrid = 'LH' AND connid = '400'.
DELETE 문
데이터를 삭제하는데 사용
DELETE FROM <테이블>
WHERE <조건>.
예제
DELETE FROM sflight
WHERE carrid = 'LH' AND connid = '400'.
MODIFY 문
존재하면 업데이트하고, 존재하지 않으면 삽입
MODIFY <테이블> FROM <워크 영역 또는 내부 테이블>.
예제
MODIFY sflight FROM ls_flight.
FETCH 문
커서를 사용하여 데이터를 검색
FETCH NEXT CURSOR <커서 이름> INTO <워크 영역>.
OPEN CURSOR 문
커서를 열어 데이터를 검색할 준비
OPEN CURSOR <커서 이름> FOR SELECT <필드 목록> FROM <테이블> WHERE <조건>.
CLOSE CURSOR 문
열려 있는 커서를 닫기
CLOSE CURSOR <커서 이름>.
JOIN 문
여러 테이블을 결합하여 데이터를 조회
INNER JOIN:
SELECT sflight~carrid, sflight~connid, spfli~cityfrom, spfli~cityto
INTO TABLE lt_result
FROM sflight
INNER JOIN spfli ON sflight~carrid = spfli~carrid
AND sflight~connid = spfli~connid
WHERE sflight~carrid = 'LH'.
LEFT OUTER JOIN:
SELECT sflight~carrid, sflight~connid, spfli~cityfrom, spfli~cityto
INTO TABLE lt_result
FROM sflight
LEFT OUTER JOIN spfli ON sflight~carrid = spfli~carrid
AND sflight~connid = spfli~connid.
SELECT carrid, COUNT(*)
INTO TABLE lt_result
FROM sflight
GROUP BY carrid.
SELECT carrid, COUNT(*)
INTO TABLE lt_result
FROM sflight
GROUP BY carrid.
SELECT * INTO TABLE lt_result
FROM sflight
ORDER BY carrid, connid.
SELECT carrid, COUNT(*)
INTO TABLE lt_result
FROM sflight
GROUP BY carrid
HAVING COUNT(*) > 10.
SELECT * FROM <테이블1>
UNION
SELECT * FROM <테이블2>.
SELECT carrid, connid
INTO TABLE lt_result
FROM sflight
WHERE seatsmax > (SELECT AVG(seatsmax) FROM sflight).
SELECT * FROM sflight WHERE carrid = 'LH'.
SELECT * FROM sflight WHERE carrid <> 'LH'.
SELECT * FROM sflight WHERE seatsmax > 200.
SELECT * FROM sflight WHERE seatsmax < 200.
SELECT * FROM sflight WHERE seatsmax >= 200.
SELECT * FROM sflight WHERE seatsmax <= 200.
SELECT * FROM sflight WHERE carrid = 'LH' AND seatsmax > 200.
SELECT * FROM sflight WHERE carrid = 'LH' OR carrid = 'AA'.
SELECT * FROM sflight WHERE NOT carrid = 'LH'.
SELECT * FROM sflight WHERE carrid LIKE 'L%'.
SELECT * FROM sflight WHERE carrid IN ('LH', 'AA', 'UA').
SELECT * FROM sflight WHERE seatsmax BETWEEN 100 AND 300.
SELECT * FROM sflight WHERE seatsmax IS NULL.
SELECT * FROM sflight WHERE seatsmax IS NOT NULL.
SELECT * FROM sflight WHERE EXISTS (SELECT * FROM spfli WHERE sflight~carrid = spfli~carrid).
SELECT * FROM sflight WHERE seatsmax > ALL (SELECT seatsmax FROM spfli WHERE carrid = 'LH').
SELECT * FROM sflight WHERE seatsmax > ANY (SELECT seatsmax FROM spfli WHERE carrid = 'LH').