지난 주차의 초점은 데이터를 불러오는 것이었다면

이번 주차의 초점은 그것을 어떻게 묶고, 연산하고, 정렬할 것인가였음

 

1. Group by

말 그대로 같은 항목의 자료들을 카테고리 별로 묶는 법

 

select name, count(*) from users

group by name

 

select week, min(likes) from checkins

group by week

 

count(*) 자리에 count(*), min(필드 명), max(필드 명), avg(필드 명), sum(필드 명), 등 여러가지가 들어갈 수 있음

 

avg(필드 명)의 경우 평균을 의미하므로 소숫점이 출력될 수 있기에

round(avg(필드 명) , n)을 이용해 수치를 반올림 할 수도 있음

n은 최대로 출력할 소수 자릿수를 의미

 

2. Order by

말 그대로 정렬을 위한 명령어

정렬이므로 다른 코드를 통해 자료 가공이 끝난 뒤 가장 마지막에 사용

 

order by count(*) : 개수를 센 것을 바탕으로 오름차순 정렬

order by count(*) desc : 개수를 센 것을 바탕으로 내림차순 정렬

order by name desc : 이름을 내림차순 정렬. 당연히 시간이나 다른 필드명도 정렬이 가능함

 

+) Alias

자료 가공 시 좀 더 특정성을 높일 수 있도록 별칭을 부여하는 것을 말함

다음 주차에 좀 더 상세히 다룰 예정이기에 예시만을 기록함

 

ex1) 자료에 별칭 부여

select * from orders o

where o.course_title='심화반'

 

ex2) 특정 명령어에 별칭 부여. 이후 파일에 별칭으로 표시

select A, count(*) as cnt from orders

order by cnt

'코딩, 사무 > SQL 강의' 카테고리의 다른 글

SQL 개발일지 1주차(220627~220703)  (0) 2022.07.03

스파르타 코딩 클럽의 강의 '엑셀보다 쉬운, SQL 18회차' 수업을 듣고 정리한 것

일단 개발일지라기보다 공부한 내용 정리에 가까운 것 같지만 요청하는 제목이 개발일지인지라 개발일지로 적음.

개발일지를 보통 어떤 형태로 쓰는지 알지 못하는 데다 길게 쏟을 시간이 없는 상황이기 때문에 간략하게 작성할 예정.

 

SQL? 데이터베이스 프로그램. DBeaver 이용.

생성, 검색, 갱신, 삭제의 4개 프로세스

강의의 초점은 검색

 

show tables로 DB에 들어있는 테이블 명을 검색하는 것으로 시작

테이블은 말 그대로 표를 말함

필드는 테이블의 각 열을 말함

 

Select 절로 데이터를 읽고 Where 절로 구체적인 조건을 붙이는 형식

select 필드명 from 테이블명 where 조건

이 기본 형태

and/or로 여러 조건들을 한꺼번에 붙일 수 있음

 

필드명 = '데이터명' : 해당 필드에 속한 정보가 '데이터명'에 해당하는 자료 표시

필드명 >= 숫자 : 해당 필드에 조건으로 제시된 숫자보다 크거나 같은 수를 갖고있는 자료 표시

(!=은 같지 않다는 의미)

필드명 between A and B :해당 필드에  A와 B 사이에 해당하는 숫자를 갖고 있는 자료 표시

(자리에 숫자와 문자 형태의 숫자(날짜, 시간 등) 모두 들어갈 수 있음)

필드명 in (n, o, p, q, ...) : 해당 필드에 괄호 안의 조건들을 내용으로 갖는 자료 표시

필드명 like '_%_' : 해당 필드에 _로 시작하고 _로 끝나는 정보를 갖는 자료 표시

 

그 외

limit 숫자 : 숫자에 해당하는 개수의 자료만 표시

select distinct(필드명) from 테이블명 : 해당 테이블의 필드에 들어있는 자료의 종류를 표시(ex: 한식, 양식, 중식, 일식)

select count(필드명) from 테이블명 : 해당 테이블의 필드에 몇 개의 자료가 들어있는지 표시

select count(distinct(필드명)) from 테이블명: 해당 테이블의 필드에 들어있는 자료의 종류가 몇 개인지를 표시(ex: 4)

이처럼 괄호를 통해 여러 절을 겹칠 수 있음

'코딩, 사무 > SQL 강의' 카테고리의 다른 글

SQL 개발일지 2주차(220704~220707)  (0) 2022.07.07

+ Recent posts