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 |