새소식

TIL

[TIL] 240503 <SQL> 별명(alias),WHERE절,연산,BETWEEN,IN,LIKE,SUM,AVERAGE,COUNT,DISTINCT,GROUP BY, ORDER BY, DESC

  • -

 

>> sql문 실행 단축키 : ctrl + enter

 

 

column(필드)에 별명(alias) 짓기

 

1. 별명 지정 방법

 

(1) 컬럼 as 별명

(2) 컬럼 별명

 

 

2. 별명 사용 시 유의사항

영문,
언더바
별명만 적음 ord_no
한글,
특수문자(영어 사이에 - 들어가도!)
"별명"
(큰따옴표 안에 별명)
"ord-no"  "주문번호"

 

 

 


 

필터링 시 문자라면 '문자' (작은따옴표를 붙여줘야함)

 

 

(WHERE절) 필터링 조건 지정 방법

 

1. 비교연산자 <> : 같지 않다(다르다)

예시) select * from customers where ~
age<>21 : age가 21이 아닌 것들

gender<>'female' : gender가 female이 아닌 것들

 

 

2. 다양한 조건의 종류

(1) between A and B : A 이상 B 이하

(2) in (A,B,C) : A,B,C를 포함

(2) like '문자시작%' 혹은 '%문자중간%' 혹은 '%문자끝'

 

 

3. 논리 연산자 NOT : ~ 아닌

예시) select * from customers where ~

not gender='female' : gender가 female이 아닌

 

 

4. 숫자 연산 종류 : +, -, *, /

 

 

5. SUM(컬럼) : 합계,    AVG(컬럼) : 평균

(GROUP BY절 함께 사용 - 어떤 카테고리별로 묶어서 보여줄건지)

 

 

6. COUNT(컬럼) : 데이터 개수   (컬럼명 대신   1 혹은 * 사용 가능)

7. DISTINCT(컬럼) : 값 종류의 수 (중복X)

예시) select count(1) count_of_orders,  //전체 주문 수

                    count(distinct customer_id) count_of_customers  //주문한 고객 수 (중복 고객아이디는 한 개로 취급)

         from food_orders

 

 

 


 

GROUP BY : 카테고리별 연산

 

select 카테고리컬럼,
       sum(계산 컬럼)
from 테이블
group by 카테고리컬럼

 

// 음식종류별 주문금액 합계
select cuisine_type,
       sum(price) sum_of_price
from food_orders
group by cuisine_type
// 결제 타입별 가장 최근 결제일
select pay_type "결제타입",
       max(date) "최근 결제일"
from payments
group by pay_type

 

ORDER BY : 정렬

 

select 카테고리컬럼,
       sum(계산 컬럼)
from 테이블
group by 카테고리컬럼
order by 정렬기준으로 할 컬럼 (카테고리컬럼 혹은 sum(계산 컬럼) 둘다 가능!) (+desc : 내림차순)

 

// 음식점별 주문금액 최댓값 조회 (최댓값 기준으로 내림차순 정렬)
select restaurant_name,
       max(price) "최대 주문금액"
from food_orders
group by restaurant_name
order by max(price) desc
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.