| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- html #css #부트스트랩 #웹사이트 #개발 #초보 #til #내일배움캠프 #스파르타코딩클럽
- sql #부트캠프 #내일배움캠프 #웹관리자 #도전 #학습
- sql #내일배움캠프 #스파르타코딩클럽
- java
- java #문법
- Today
- Total
Hyeok의 웹 개발 블로그
<2025.02.20> SQL의 기본 개념 (1~2주차) 본문
-오늘의 학습 내용
SQL의 기초에 대해 학습을 진행했습니다.
- SQL 이란?
● 데이터 베이스에게 데이터를 조해해줘!! 이런 데이터를 보고싶어 라고 말하는 것으로 이해했다.
(SQL은 '코드'가 아니라, 데이터베이스에 요청을 하기 위한 '언어' 이므로, 작성 전에 어떤 요청을 할 지 생각해보는 것이 필요!!)
SQL 을 시작하기에 앞서, DBeaver 을 설치하고 설정을 진행했습니다.

- SQL 데이터를 조회해보기!
● SQL 기본적인 구조 인 select , from 을 사용했다.
- SELECT : 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 Query 에 사용됨
- FROM : 데이터를 가져올 테이블을 특정해주는 문법
이 두가지를 사용해서 DBeaver 에서
select *
from food_orders 로 실행을 해보았습니다.

실행 한 결과, 이러한 표가 나왔습니다.
여기서 select에 사용한 ' * ' 은 모든 컬럼을 가져온다는 것을 의미합니다.
여기서 * 을 사용하지않고 컬럼 부분에 원하는 것을 적어 조회할 수 있습니다.
ex) select restaurant_name
from food_orders
그리고 컬럼에 별명을 정해줄 수 있는데 'as' 를 붙여 새로운 별명을 붙여줄 수 있습니다.
ex) select restaurant_name as res_name
from food_orders
여기서 별명을 지을 때 유의 할 것이 있는데,
- 컬럼에 별명을 붙일 때 2가지 사항
1) 영어, 언더바가 있는 별명은 그냥 작성한다
2) 특수문자나 한글이 들어가 있는 별명은 "~~~" 의 형식으로 붙여준다.

● Where 절이란, 데이터를 찾을 때 필터링 해야 할 때 사용합니다.
예를들어 20살인 사람만 찾을 때, where 절을 사용하면 됩니다.
ex) select *
from food_orders
where age=20
! 여기서 숫자 대신 문자를 넣고 싶으면 작은 따옴표(' ') 를 사용해야합니다.
● 비교연산자 , between, in, like
-비교연산자는 학교를 다닐 때 사용하던 부등호를 사용해서 하면 됩니다.

- between 은 between A and B 의 형태이고 A와 B 의 사이의 값을 보여줍니다.
- in 은 포함하는 개념이고 in(a,b,c) 의 형태이고 a,b,c 의 경우를 보여줍니다.
ex) age in(10,20,30) >>> 10세 20세 30세 인 경우
- like 는 같은건 아니지만 같은 글자로 시작하거나 같은 글자가 들어가는 거 찾을때
마치 많은 사람이름중 김씨를 찾고 싶으면 like(김%) 이러면 김 떙떙 이 찾아지고
like(%김) 이러면 떙땡김이 찾아진다.
● 여러개의 조건으로 필터링하는 경우
- where 절에 여러 조건을 적용할 때 사용하는 것으로는 (and, or, not) 이 있습니다.

이와 같은 개념으로
상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기 를 풀어보면
SELECT restaurant_name,
customer_id
from food_orders
where food_preparation_time Between 20 and 30 and cuisine_type = 'korean'
이렇게 작성할 수 있습니다.
● SQL 을 통해 연산, 합계와 평균을 구할 수 있습니다.
합계 : SUM
평균 : AVG
● 전체 데이터의 개수를 구할 때는
데이터 개수 : count(컬럼) !컬럼명 대신 * , 1 을 사용할 수 있습니다.
몇개의 값을 가지고 있는지 : distinct
● 최소값, 최대값 구할 때
최소값 : min(컬럼)
최대값 : max(컬럼)
●group by 로 범주별 연산 한번에 하기
음식 종류별로 평균 음식 가격을 구하기 위해서는 where 절을 사용해 여러개의 쿼리를 작성하는 것은
번거로운 작업이기에, group by 를 사용해 카테고리 별로 계산을 할 수 있습니다.
ex) select 카테고리컬럼 (원하는 컬럼) , sum(계산 컬럼)
from
group by 카테고리컬럼( 원하는 컬럼)
● order by로는 오름차순 또는 내림차순으로 정렬 할 수 있습니다
ex) select 카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
order by 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼) 둘 다 가능)
오늘의 내용을 하여 한가지 과제를 풀어보았습니다.
Q. 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
A. select cuisine_type, min(price) as min_price,max(price) as max_price
from food_orders
group by cuisine_type
order by min(price) desc
-마무리 : 오늘은 SQL에 대해 기본적인 개념을 학습했습니다. 내일은 오늘 배운 내용을 복습으로 시작해서
SQL에 대해 조금더 깊이있는 학습을 진행할 예정입니다.
'TIL > SQL' 카테고리의 다른 글
| <2025.02.21> SQL 3주차 강의 (0) | 2025.02.21 |
|---|