본문 바로가기
DATABASE/SQL

3/18일 SQL-2주차 내용 + 사전 과제 1

by codechu 2025. 3. 18.

2주차 - 숫자연산 , 함수(SUM. AVERAGE,MIN, MAX)를 이용해 값을 구하기

 

숫자 연산

연산자 설명
+ 더하기
- 빼기
* 곱하기
/ 나누기

 

컬럼명 + 컬럼명 as 컬럼명(이렇게 나타내 주세요)

함수 설명
COUNT(컬럼명 OR 1) 갯수 세기
SUM(컬럼명) 더하기
AVG(컬럼명) 나누기

 

DISTINCT = 중복 값 제외하고 몇 개의 값을 가지고 있는지 사용할 때

COUNT(DISTINCT 컬럼명)

 

select count(distinct 컬럼명)

from 테이블명

where 조건

 

MIN 최솟값
MAX 최댓값

 

 

 

 group by 

 

식당명으로 조건을 넣어서 값을 구하고 싶다 - > 그럼 WHEREW 절에 조건을 식당명 마다 줘야 하는데 그럼 효율성이 떨어짐 -> 그럴 때 group by 조건 사용

 

ex) 음식점별 주문 금액 최댓값 구하기

식당컬럼= restraunt_name

가격컬럼= price

 

select restraunt_name as "식당명",

           max(price) as "최댓값"

from food_orders(테이블 명)

group by restraunt_name

 

 

 

쿼리에 데이터는 언제든 추가, 삭제, 변경이 되기 때문에 도출해 낸 값들을 order by 로 정렬이 가능하다

order by

구문 예시
오름차순 (생략) order by sum(price)
내림차순(desc) oder by sum(price) desc

 

order by에 2가지 조건을 줄 수 있음 , 으로 구분 

ex) order by gender, name

 

이렇게 조건을 주면 gender 을 1순위로 기준을 주고 오름차순으로 정렬을 해줌

 

 

 

1.
sparta_employees 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요.

 

select name,
          position
from sparta_employees
2.
sparta_employees 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.
select distinct position
from sparta_employees
 
3.
sparta_employees 테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.
select *
from sparta_employees
where salary between 40000 and 60000
 
4.
sparta_employees 테이블에서 입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는

쿼리를 작성해주세요.

 

select *
from sparta_employees
where hire_date < '2023-01-01'

'DATABASE > SQL' 카테고리의 다른 글

사전캠프 6일차 SQL 4,5 주차 강의 정리  (1) 2025.03.24
사전캠프3일차 - SQL 3주차  (0) 2025.03.19
사전캠프 1일차 -SQL 1주차  (0) 2025.03.17