728x90
반응형
자주 사용하는 쿼리문과 관련하여 정리를 해보려고 한다. 쿼리문의 종류는 다른 언어들에 비해 양이 많은 편은 아니다. 하지만 공부하다보니 많은 듯 하다. 또한, 비슷한 역할을 하는 쿼리문이 존재하다보니 사용할 때 헷갈리는 것도 많아 작성을 하려고 한다.
쿼리문 실행 순서 & 작성 순서
쿼리문을 실행할 때에는 실행 순서가 존재한다. 작성순서가 다르다고 해서 작동이 되지 않는 것은 아니다.
하지만, 실행순서를 적절하게 조정하면 성능을 개선시킬 수 있다.
쿼리문 실행 순서와 작성 순서는 서로 다르기 때문에 각각 봐두는 것이 좋다.
# 쿼리문 실행 순서
# 쿼리문 작성 순서
작성 순서와 실행 순서는 일반적인 규칙이며, 쿼리의 목적이나 복잡성에 따라 달라질 수 있다. 작성 순서를 따를 때 쿼리의 의도와 구문이 명확하게 전달되고, 실행 순서를 따를 때 데이터베이스가 효율적으로 쿼리를 처리할 수 있다.
자주 사용되는 쿼리문
데이터 조회
SELECT [열1, 열2, ...]
FROM [테이블명];
데이터 삽입
INSERT INTO [테이블명] ([열1, 열2, ...])
VALUES ([값1, 값2, ...]);
데이터 수정
UPDATE [테이블명]
SET [열1 = 값1, 열2 = 값2, ...]
WHERE [조건];
데이터 삭제
DELETE FROM [테이블명]
WHERE [조건];
데이터 필터링
SELECT [열1, 열2, ...]
FROM [테이블명]
WHERE [조건];
데이터 정렬
SELECT [열1, 열2, ...]
FROM [테이블명]
ORDER BY [정렬열] [ASC|DESC];
데이터 그룹화 및 집계
SELECT [열, 집계 함수(열)]
FROM [테이블명]
GROUP BY [열];
조건문
WHERE [조건] -- 데이터 필터링을 위한 조건 지정
AND -- 여러 개의 조건을 모두 만족하는 데이터 선택
OR -- 여러 개의 조건 중 하나 이상을 만족하는 데이터 선택
IN -- 여러 개의 값 중 하나와 일치하는 데이터 선택
NOT -- 조건을 부정하여 데이터 선택
DISTINCT(중복 제거)
SELECT DISTINCT [열]
FROM [테이블명];
서브쿼리(중첩 쿼리)
SELECT [열1, 열2, ...]
FROM [테이블명]
WHERE [열] IN (SELECT [열] FROM [다른 테이블]);
LIKE(포함된 값 찾기)
SELECT [열]
FROM [테이블명]
WHERE [열] LIKE '드%';
SELECT [열]
FROM [테이블명]
WHERE [열] LIKE '드__';
BETWEEN(사이 값 찾기)
SELECT [열]
FROM [테이블명]
WHERE [열] BETWEEN [값1] AND [값2];
집계 함수
GROUP BY와 자주 사용되며 그룹화하여 출력하고자 하는 열의 합, 수, 평균 등을 구할 때 함꼐 사용된다.
COUNT -- 행의 개수
SUM -- 합계
AVG -- 평균
MAX -- 최대값
MIN -- 최소
트랜잭션
BEGIN TRANSACTION -- 트랜잭션 시작
COMMIT -- 변경 사항을 저장하고 트랜잭션 종료
ROLLBACK -- 변경 사항을 취소하고 트랜잭션 종료
이외에도 엄청 많은 함수들이 존재한다.
JOIN과 관련된 함수는 이해하는데 헷갈리는 것이 있어 따로 정리를 해볼까 한다.
🔗참고 링크
728x90
반응형
'LANGUAGE > MySQL' 카테고리의 다른 글
[MySQL] Window11 MySQL 설치하기 / Developer default 안 보일 때 해결 방법 (0) | 2023.07.23 |
---|---|
[MySQL] 필드 기본값(Default) 설정하기 (1) | 2023.06.04 |
[SQL] 트랜잭션(Transaction)이란? ACID원칙 (1) | 2023.05.26 |
[SQL] 데이터베이스 언어: DDL, DML, DCL, TCL의 이해와 활용 (0) | 2023.05.25 |
[DATABASE] 데이터 베이스 개체 알아보기 / 인덱스(INDEX), 뷰(VIEW), 스토어드 프로시저(STORED PROCEDURE), 트리거(TRIGGER) 등 (0) | 2023.05.25 |