sql 기본 요소
query : SELECT DML : INSERT, UPDATE, DELETE, MERGE TCL : COMMIT, ROLLBACK, SAVEPOINT DDL : CREATE, DROP, ALTER, TRUNCATE DCL : GRANT, REVOKE
쿼리문 읽는 순서
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
- TID 테이블 전체 조회
SELECT * FROM tid;
- TID 테이블 특정 컬럼 조회
SELECT lnid, id_typ, bthday FROM tid;
• 두 개의 세로선(||)을 사용합니다.
• 열이나 문자열을 다른 열에 연결합니다.
• 연결된 결과는 문자로 처리됩니다.
SELECT
lnid ||'차주의 등급은'|| grade||'입니다.'
FROM tid
WHERE id_typ = '2' ;
• 열 머리글의 이름을 바꿉니다.
• 열 이름 바로 뒤에 나옵니다. 열 이름과 alias 사이에 선택 사항
인 AS 키워드가 올 수도 있습니다.
• 공백이나 특수 문자를 포함하거나 대소문자를 구분하는 경우 큰따
옴표가 필요합니다.
SELECT
lnact,
lnact_seq,
ln_amt,
ln_amt/1000 "대출금(천원)"
FROM tacct;
• query 결과에는 중복 행을 포함한 모든 행이 표시됩니다.
• 중복행을 제거하려면 DISTINCT를 사용합니다.
• 문자열 및 날짜 값은 작은따옴표로 묶습니다.
• 문자 값은 대소문자를 구분하고 날짜 값은 형식을 구분합니다.
SELECT lnact, lnact_seq, lnid, ln_dt, ln_term, ln_amt
FROM tacct
WHERE ln_amt > 2000000000 ;
SELECT *
FROM tid
WHERE grade = 'A';
SELECT *
FROM tid
WHERE bthday = '1983/06/24';
BETWEEN 연산자를 사용하는 범위 조건
• BETWEEN 연산자를 사용하여 값의 범위를 기반으로 행을 표시합니다.
SELECT lnact, lnact_seq, lnid, ln_dt, ln_term, ln_amt FROM tacct WHERE ln_amt BETWEEN 1000000000 AND 2000000000 ;
SELECT lnid, id_typ, bthday, grade FROM tid WHERE grade IN ('AA+','AA','AA-') ;
• LIKE 연산자를 사용하여 대체 문자 검색을 수행합니다.
• 검색 조건에는 리터럴 문자나 숫자가 포함될 수 있습니다.
• %는 0개 이상의 문자를 나타냅니다.
• 은 한 문자를 나타냅니다.
• 두 개의 대체 문자(%, )를 리터럴 문자와 결합할 수 있습니다.
• IS NULL 연산자로 null을 검색합니다.
SELECT lnact, lnact_seq, acct_typ, lmt_typ, lnid, ln_dt, ln_amt FROM tacct WHERE lmt_typ IS NULL ;
AND 연산자 사용
SELECT lnact, lnact_seq, acct_typ, lmt_typ, lnid, ln_dt, ln_amt FROM tacct WHERE lmt_typ IS NULL AND ln_dt >= '2022/01/01';
OR 연산자 사용
SELECT lnact, lnact_seq, acct_typ, prod_cd, lnid, ln_dt, ln_amt FROM tacct WHERE prod_cd = '101' OR prod_cd = '102' ;
NOT 연산자 사용
SELECT lnid, id_typ, bthday, grade FROM tid WHERE grade NOT IN ('AA+','AA','AA-') ;
• ORDER BY 절을 사용하여 검색된 행을 정렬합니다.
• SELECT 명령문의 가장 마지막 절로 사용합니다.
• 하나 이상의 컬럼 이름, 별칭, 순서를 이용하여 정렬합니다.
• ASC : 오름차순, 기본값
• DESC: 내림차순