강의 링크 : https://www.youtube.com/watch?v=70KY1_DblZQ&list=PLg_wJlcMiuKtGdlIaAZ0rOPPQuTDENnEQ&index=6
SQL(← SEQUEL) (← Structured Query Language)
문장 마지막은 세미콜론(;)으로 끝남
명령어, 객체명(테이블), 변수명(속성 이름)은 대/소문자 구분이 없음
날짜와 문자열에는 작은 따옴표를 사용
단어와 단어 사이는 공백 또는 줄바꿈으로 구분
주석문
-- 이것은 주석입니다.
/* 여기부터
여기까지 주석입니다. */
SQL 구문 유형
※ 스키마 = 데이터 구조
인스턴스 = 데이터
※ DML 중 조회 쿼리 : SELECT
DML 중 갱신 쿼리 : INSERT, UPDATE, DELETE
SELECT
⌨️ 입력
SELECT 'ABC', 5+4 FROM DUAL⌨️ 출력
'ABC' 5+4 1 ABC 9
DESCRIBE 테이블이름; DESC 테이블이름;ORDER BY
WHERE
연산자
※ 와일드카드(%, _)
_A : 두 글자 중 A로 끝나는 모든 것
_A_ : 세 글자 중 가운데가 A인 것
%A : A로 끝나는 모든 것
%A% : A가 포함된 모든 것
_A% : 앞에 한 글자가 있고 두번째 글짜가 A인 모든 것
⌨️ 입력
SELECT PLAYER_NAME || ' 선수: ' || Height || 'Cm' AS '선수 신장' FROM PLAYER;
A1 : Height가 NULL인 행이 출력되지 않음
A2 :
SELECT PLAYER_NAME 선수이름, POSITION 포지션, HEIGHT 키
FROM PLAYER
WHERE HEIGHT >= 170 AND HEIGHT <= 180;
WHERE HEIGHT < 170 OR HEIGHT > 180;
WHERE - 출력 개수 지정
ROWNUM (TOP N개의 레코드 반환)
pseudo column : 존재는 하지만 사용은 할 수 없는 컬럼 (번호 딸 때랑 출력 개수 지정 등에만 사용됨) → 이 중 하나가 ROWNUM
DESC로는 보이지 않지만 SELECT를 사용하면 보임
테이블 내의 UNIQUE한 값 설정에도 사용 가능
ALTER TABLE PLAYER ADD (ROW_ID NUMBER); UPDATE PLAYER SET ROW_ID = ROWNUM; SELECT PLYAER_NAME FROM PLAYER WHERE ROW_ID = 3;
INSERT
INSERT INTO 테이블명 (COLUMN_LIST) VALUES (VALUE_LIST);INSERT INTO 테이블명 VALUES (전체 COLUMN의 VALUE_LIST);
DELETE
UPDATE