-
SQL 3. SQL 문법_SELECTSYNC 기술면접 준비 2023. 11. 13. 13:57
데이터 조회(select)는 여러 절들과 함께 사용되며, 분석에 필요한 데이터를 조회한다.
절 : from, where, group by, having, order by
데이터 조회 From 테이블 확인 where From 절 테이블을 특정 조건으로 필터링 group by 열 별로 그룹화 having 그룹화된 새로운 테이블을 특정 조건으로 필터링 select 열 선택 order by 열 정렬 group by > 기존 테이블이 새로운 테이블로 변환된다.
count > 행들의 갯수를 구하는 집계함수
USE PRACTICE;
/*************** FROM ***************/
/* Customer 테이블 모든 열 조회 */
SELECT *
FROM CUSTOMER;
/*************** where ***************/
/* 성별이 남성 조건으로 필터링됨 */
select *
from Customer
where gender = 'man';
/*************** group by ***************/
/* from절, where절 아래에 작성되어야 한다. */
/* 지역별로 회원수 집계 */
select ADDR AS 지역,
count(MEM_NO) as 회원수 /* 해당 열에 대한 갯수를 구한다는 의미 */
from CUSTOMER
where gender = 'man'
group by addr;
/*************** HAVING ***************/
/* 집계 회원수 100명 미만 조건으로 필터링 */
SELECT ADDR AS 지역, COUNT(MEM_NO) AS 회원수
FROM CUSTOMER
WHERE GENDER = 'MAN'
GROUP BY ADDR
HAVING COUNT(MEM_NO) < 100;
/* < : 비교 연산자 / ~ 보다 작은 */
/*************** order by ***************/
select addr, count(mem_no) as 회원수
from customer
where gender = 'man'
group by addr
having count(mem_no) < 100
order by count(mem_no) desc; -- desc : 내림차순 정렬
-- select, from, where, group by, having, order bygroup by는 집계함수와 주로 사용되는 명령어
여러 일별로 그룹화가 가능+
group by에 있는 열들을 select에도 작성해야 원하는 분석 결과를 확인할 수 있다.
/*************** from -> (where) -> group by ***************/
/* from -> group by 순으로 작성해도 된다 */
select addr, count(mem_no) as 회원수
from customer
group by addr;>>>>>>>>>> where 절 생략 가능하다.
/*************** from -> (where) -> group by ***************/
/* 거주지역을 서울, 인천 조건으로 필터링 */
/* 거주지역 및 성별로 회원수 집계 */
select addr, gender as 성별, count(mem_no) as 회원수
from customer
where addr in ('SEOUL', 'INCHEAON') -- 리스트 값
GROUP BY ADDR, GENDER;/* GROUP BY에 있는 열들을 SELECT에도 작성해야 원하는 분석 결과를 확인 할 수 잇다. */
select gender as 성별, count(mem_no) as 회원수
from customer
where addr in ('SEOUL', 'INCHEAON')
GROUP BY ADDR, GENDER;
SQL : 띄어쓰기, 줄바꿈, TAB사용에 자유도가 높음
/***************SQL 명령어 작성법***************/
/* 회원테이블(Customer)을 */
/* 성별이 남성 조건으로 필터링하여 */
/* 거주지역별로 회원수 집계 */
/* 집계 회원수 100명 미만 조건으로 필터링 */
/* 모든 열 조회 */
/* 집계 회원수가 높은 순으로 */
SELECT ADDR, COUNT(MEM_NO) AS 회원수
FROM CUSTOMER
WHERE GENDER = 'MAN'
GROUP BY ADDR
HAVING COUNT(MEM_NO) < 100
ORDER BY COUNT(MEM_NO) DESC; -- 회원수 별로 내림차순 정렬'SYNC 기술면접 준비' 카테고리의 다른 글
SQL 3. SQL 문법_SUB QUERY (1) 2023.11.13 SQL 3. SQL 문법_JOIN (0) 2023.11.13 SQL 2. SQL 명령어_총정리 (0) 2023.11.13 SQL 2. SQL 명령어_3 (0) 2023.11.13 SQL 2. SQL 명령어_2 (0) 2023.11.13