SQL 2주차 강의내용

헤렌시이·2022년 10월 27일
0

SQL

목록 보기
2/5

2주차 강의

  1. 그룹으로 묶어주자
    안헷갈리게 적는 법
    먼저 그룹지정할 전체적인 그림을 그려주고

    select * from users
    group by name

그 그림에서보면 name과 그 수를 세고싶으니까

select name, count(*) from users
group by name

적어주자

(1)users 테이블에서 '신' 씨를 가진 데이터만 불러와서 개수 살펴보기

select name, count(*) from users
where name = '신**'

(2)group by를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기

group by를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기

(3)네이버 이메일을 사용하는 사람들을 성씨별로 살펴보기(where, group by) (예상)

select name, count(*) from users
where email like '%naver.com'
group by name

  1. Group by 사용해보기

    select week, count(*) from checkins
    group by week

(1) likes의 최소값, 최대값, 평균값, 반올림, 합계
(1)-1 최소값(min())

select week, min(likes) from checkins
group by week

(1)-2 최대값(max())

select week, max(likes) from checkins
group by week

(1)-3 평균값(avg())

select week, avg(likes) from checkins
group by week

(1)-4 반올림(round(값,자릿수))

select week, round(avg(likes),2) from checkins
group by week

(1)-5 합계(sum())

select week, sum(likes) from checkins
group by week

  1. order by 사용해보기

(1) 오름차순 (asc 안써도됨)

select name, count() from users
group by name
order by count(
)

(2) 내림차순 (desc)

select name, count() from users
group by name
order by count(
) desc

select * from checkins
order by likes desc

※마지막에 ;을 붙이는 이유

select name, count() from users
group by name
order by count(
);
한 쿼리가 여기서 끝난다는걸 알려줌
굳이 안써도 됨

  1. Where와 Group by, Order by 함께 사용해보기

    select payment_method ,count() from orders
    where course_title = '웹개발 종합반'
    group by payment_method
    order by count(
    )

  2. 자주발생하는 에러

    1) select from orders
    group by payment_method
    라 하면 통계낼것을 지정하지 않아 대표적인것 하나씪만 보여준다
    2) select count(
    ) from orders
    group by payment_method
    뭘 통계냈는지 모르고 숫자 센것만 보여준다.

  3. 별칭기능 : alias
    (보통 알파벳 1, 2글자로 짧게 씀)
    (1) 첫번째 별칭

    select * from orders o
    where o.course_title = '앱개발 종합반'
    orders를 o로 별칭을 지정 후 orders에 있는 자료를 사용함

(2) 두번째 별칭

select payment_method , count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
group by payment_method
as를 사용해서 따로 열의 이름을 지어줄 수 있다.

아직까지는 할만한거 같아요

profile
코딩배우려고합니다

0개의 댓글