티스토리에 저장했던 글을 옮겼습니다.
https://mrcocoball.tistory.com/51?category=1080971
CRUD (생성, 읽기, 갱신, 삭제)
및 검색을 하는데에 사용 SELECT
, INSERT
, DELETE
, UPDATE
문 등이 있음 SELECT
문은 특별히 Query문(질의어)
라고도 함SELECT 속성명
FROM 테이블명
WHERE 검색조건;
SELECT ID, use_ad
FROM ad_budget
WHERE budget >= 20000;
WHERE
절에 조건으로 사용될 술어 BETWEEN
IN
, NOT IN
LIKE
IS NULL
, IS NOT NULL
AND
, OR
, NOT
INSERT INTO 테이블명(속성)
VALUES 속성;
INSERT INTO client(ID, client_name)
VALUES ('5', '김쥐똥');
INSERT INTO 테이블명(속성)
SELECT 삽입할 속성
FROM 가져올 테이블명;
UPDATE 테이블명
SET 수정하고 싶은 속성 = 수정할 속성 내용
WHERE 적용할 대상에 대한 조건;
UPDATE client
SET client_name = '김뱀똥'
WHERE ID = '5';
DELETE FROM 테이블명
WHERE 삭제 대상
WHERE
를 사용하여 연산 SELECT client.client_name, ad_budget.use_ad
FROM client, ad_budget
WHERE client.ID = ad_budget.ID;
FROM 테이블1
INNER JOIN 테이블2 ON 테이블1과 테이블2의 매칭 조건
SELECT client.client_name, ad_budget.use_ad, ad_budget.budget
FROM client
INNER JOIN ad_budget ON client.ID = ad_budget.ID
WHERE ad_budget.budget >= 20000;
SELECT client_name
FROM client
WHERE ID IN (SELECT ID
FROM ad_budget
WHERE ad_budget.budget >= 20000);
SUM()
: 컬럼 값의 합계, SUM(budget)
AVG()
: 컬럼 값의 평균, AVG(budget)
MAX()
: 최대 컬럼 값, MAX(budget)
MIN()
: 최소 컬럼 값, MIN(budget)
COUNT()
: 검색 결과의 row 수를 가져올 수 있음SELECT COUNT(budget)
FROM ad_budget
WHERE budget > 20000;
SELECT use_ad, AVG(budget)
FROM ad_budget
GROUP BY use_ad
HAVING
은 집계 함수를 가지고 조건 비교를 할 때 사용되며 GROUP BY
와 같이 사용SELECT use_ad, AVG(budget)
FROM ad_budget
GROUP BY use_ad
HAVING AVG(budget) > 20000;
DISTINCT
는 특정 컬럼 값 출력 시 중복된 값을 출력하지 않음SELECT DISTINCT use_ad FROM ad_budget
GROUP BY
는 집계 함수를 사용하여 특정 그룹으로 구분 할 때 사용 DISTINCT
는 특정 그룹 구분 없이 중복된 데이터를 제거SELECT use_ad, AVG(budget) AS ad_budget_average
FROM ad_budget
GROUP BY use_ad;