SELECT 데이터 검색
ALL
‒ 결과 테이블이 튜플의 중복을 허용하도록 지정, 생략 가능
DISTINCT
‒ 결과 테이블이 튜플의 중복을 제거하도록 지정
* DISTINCT와 집계함수 같이 쓰려고 할 때
SELECT count(distinct name) from animal_ins where name is not NULL
* 시간의 FORMAT을 바꾸는 법
SELECT DATE_FORMAT(DATETIME, "%H") as HOUR,
COUNT(DATE_FORMAT(DATETIME, "%H")) as COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR >= 9
AND HOUR < 20
ORDER BY HOUR ASC;
YEAR
YEAR(기준 날짜);
MONTH
MONTH(기준 날짜);
DAY
DAY(기준 날짜);
-- 또는 DAYOFMONTH(기준 날짜);
HOUR
HOUR(기준 날짜);
MINUTE
MINUTE(기준 날짜);
SECOND
SECOND(기준 날짜);
<AS 키워드>
결과 테이블에서 속성의 이름을 바꾸어 출력 가능
<산술식 사용>
<조건 검색>
WHERE 키워드 + 비교 연산자와 논리 연산자를 이용한 검색 조건
<LIKE 키워드>
부분적으로 일치하는 데이터를 검색
*고객 테이블에서 성이 김씨인 고객의 고객이름, 나이, 등급, 적립금을 검색
* 고객 테이블에서 고객아이디가 5자인 고객의 고객 아이디, 고객이름, 등급을 검색
<NULL 키워드>
IS NULL 키워드를 이용해 검색 조건에서 특정 속성의 값이 널 값인지를 비교
* 나이가 아직 입력되지 않은 고객의 고객이름을 검색
<ORDER BY 정렬>
오름차순(기본): ASC / 내림차순: DESC
NULL 값은 오름차순에서는 맨 마지막에 출력되고 내림차순에서는 맨 먼저 출력됨
여러 기준에 따라 정렬하려면 정렬 기준이 되는 속성을 차례대로 제시
* 주문 테이블에서 수량이 10개 이상인 주문의 주문고객, 주문제품, 수량, 주문일자를 검색
** 주문제품을 기준으로 오름차순, 동일 제품은 수량을 기준으로 내림차순 정렬
<집계 함수>
집계 함수는 널인 속성 값은 제외하고 계산함
WHERE 절에서는 사용할 수 없고 SELECT 절이나 HAVING 절에서만 사용 가능
* 한빛제과에서 제조한 제품의 재고량 합계를 제품 테이블에서 검색
<그룹 검색>
GROUP BY 키워드를 이용해 특정 속성의 값이 같은 튜플을 모아 그룹을만들고, 그룹별로 검색
HAVING 키워드를 함께 이용해 그룹에 대한 조건을 작성
그룹을 나누는 기준이 되는 속성을 SELECT 절에도 작성하는 것이 좋음
* 제품 테이블에서 제조업체별로 제조한 제품의 개수와 제품 중 가장 비싼 단가를 검색하되, 제품의 개수는 제품수 라는 이름으로 출력하고 가장 비싼 단가는 최고가라는 이름으로 출력
* 제품 테이블에서 제품을 3개 이상 제조한 제조업체별로 제품의 개수, 제품 중 가장 비싼단가를 검색
* 고객 테이블에서 적립금 평균이 1000원 이상인등급에 대해 등급별 고객 수와 적립금 평균을 검색
IN 연산자
여러개의 결과값이 나타나는 경우는 IN 사용
<내장함수>
'Backend > Database' 카테고리의 다른 글
View & Index, 백업과 복원 (0) | 2022.09.14 |
---|---|
SQL - DML(JOIN, SELECT 응용) (0) | 2022.04.19 |
SQL - DML(INSERT, UPDATE, DELETE) (0) | 2022.04.19 |
데이터베이스의 목적 (0) | 2022.04.15 |
데이터베이스에 대해 (0) | 2022.04.15 |