Programming/SQL
[SQL] 한 장으로 정리하는 SQL 문법
앵도라지
2023. 2. 7. 09:46

SQL을 한 장으로 정리해봤다.
아래의 내용을 여러번 반복해 공부해보면 SQL을 쉽게 사용할 수 있을 것이다!

CREATE
- 테이블 생성
Create Table Test
( name varchar2(20) primary key,
age number(10),
발매일 date
);
ALTER TABLE
- RENAME T0 : 테이블명 변경
ALTER TABLE TEST RENAME TO NEW_TEST;
- ADD : 칼럼 추가 / DROP : 칼럼 삭제
ALTER TABLE TEST ADD (age number(2) default 1);
ALTER TABLE TEST DROP COLUMN age;
- RENAME COLUMN ~ TO : 칼럼 변경
ALTER TABLE TEST RENAME COLUMN ename to new_name;
DROP
- 테이블 삭제
DROP TABLE TEST;
INSERT
- 테이블에 데이터 삽입
INSERT INTO table (column1, column2, ..) VALUES (expression1, expression2 ..);
UPDATE
- 데이터 내용 수정
#TEST테이블에서 NOMB가 100인 행의 ENAME 칼럼의 값을 '이름이름'으로 변경한다.
UPDATE TEST SET ENAME = '이름이름' WHERE NOMB = 100;
DELETE
- 데이터 삭제
DELETE FROM TEST WHERE NOMB = 100;
SELECT
- 데이터 조회
SELECT * #조회를 원하는 칼럼명을 입력한다. *는 전체 조회
FROM TEST
WHERE 사원번호 = 100;
ORDER BY
- 특정 칼럼 기준으로 정렬
- ASC : 오름차순 / DESC : 내림차순
SELECT * FROM TEST ORDER BY NAME, AGE DESC; #NAME은 오름차순, AGE는 내림차순.
WHERE
- 특정 조건 추출 가능
- BETWEEN / LIKE(와일드카드% , _ 사용 가능) / IN (or의 의미)
SELECT * FROM TEST WHERE NOMB = 100;
LIMIT
- 특정 개수까지만 인출할 때
SELECT * FROM TEST LIMIT 10;
GROUP BY
- 특정 칼럼 기준의 데이터 그룹핑
SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO ;
#EMP 테이블을 조회한 뒤, DEPTNO로 그룹을 만들고, 그룹별 합계를 계산한다.
HAVING
- Group에 조건절 사용할 때
SELECT TEST, SUM(SAL) FROM EMP GROUP BY EPTNO HAVING SUM(SAL) > 10000;
DISTINCT
- 중복 행을 제거
SELECT DISTINCT age FROM TEST
ALIAS
- 칼럼에 별칭을 주고 조회
SELECT NO_NUM AS 사원번호, NO_NAME AS 사원명, AGE AS 나이 FROM TEST
CASE
- IF ~ THEN ~ELSE -END 같은 조건문
SELECT CASE
WHEN test = 1000 THEN 'A'
WHEN test = 2000 THEN 'B'
ELSE 'C'
END
함수
집계 함수
- COUNT() : 행 수를 조회
- SUM() : 합계를 조회
- AVG() : 평균을 계산
- MAX() MIN() : 최댓값과 최솟값을 계산
- STDDEV() : 표준편차를 계산
- VARIAN() : 분산을 계산
문자 조작 함수
- UPPER(str) : 대문자 변환
- LOWER(str) : 소문자 변환
- INITCAP(str) : 첫 글자만 대문자로 변환
- CONCAT(str, tmp) : 두 문자값 결합
- SUBSTR(str,a,b) : 문자 추출 a = 시작위치, b = 개수
- LENGTH(str) : 문자열 길이 반환
- REPLACE(대상문자열,바꾸고싶은대상,바꾸고싶은내용) : 대상문자열에서 바꾸고 싶은 대상을 바꾸고 싶은 내용으로 수정한 뒤 반환