사전캠프 SQL 1주차 강의

노승현·2024년 6월 19일

내일배움 사전캠프

목록 보기
4/38

데이터베이스란 무엇인가

데이터베이스는 쉽게 말해 '데이터가 저장되어있는 큰 폴더'
DB와 저장소, 데이터의 형태 등 여러 분류가 있지만 강의에서 다룰 내용에만 집중해보기
데이터베이스 안에는 테이블이 존재

테이블은 엑셀과 같이 생김
엑셀과 유사한 구조로 데이터 가짐, 각 열은 컬럼 or 필드

※ SQL은 코드가 아닌 DB에 요청하기 위한 언어, 작성 전에 어떤 요청을 할 지 생각해야 함

SELECT문의 가장 기본적인 사항은 '어느 테이블에서 가져올까'

SELECT FROM문
원하는 곳에서 데이터를 가져오는 기본 명령어
SELECT: 데이터를 가져오는 기본 명령어, 데이터 조회하는 모든 Qurey에 사용
FROM: 데이터 가져올 테이블 특정
*: 모든 컬럼을 가져오기
ex) select * from food_orders (food_orders 테이블에 데이터 중 모든 컬럼을 가져오기)

원하는 컬럼 선택

ex.
select restaurant_name, addr
from food_orders
-> food_orders 테이블에서 restaurant_name컬럼과 addr 컬럼을 추출해서 가져오기
모든 것을 조회한다는 * 대신에 필요한 특정 컬럼만 적어냄

별명 설정하기

추출하면서 이름을 짧게 바꾸고 싶다
그런 경우 컬럼 옆에 as(alias)라 적고 적고 싶은 명칭을 써 놓기
ex) restaurant_name as 음식점, addr address (굳이 as 안써도 되긴 함)
※별명 지을 때 영문, 언더바가 있을 경우 별명만 적어도 됨, 특수문자나 한글이 있는 경우 큰 따옴표를 안에 적어야 함

궁금한 점 한글에는 큰 따옴표 안 넣어도 되긴 함, 특수문자 있을 때는 넣어야 됨(SQL의 장점인지 모르겠음)

조건절(where)

데이터 중 특정 조건 필터링 해야할 때 사용
각 컬럼들에 대해 where라는 조건절을 적을 수 있음
ex. select * from customers where age=21
-> customers 테이블에서 age가 21인 데이터를 모두 추출
where 절은 from 뒤에 적어야 함
필터링 할 때 문자 사용할 경우 작은 따옴표 사용, 대소문자 구분 없이 사용 가능함

필터링 할 때 유용한 표현 (비교연산, between, in, like)

크거나 같다, 작거나 같다 <=, >=
같지 않다 <>
between: A와 B 사이
in: 포함하는 조건
Like: 완전히 같지 않지만, 비슷한 값을 조건으로 주기

ex. select * from customers
where age between 21 and 22

-> customers 테이블에서 age가 21과 22이 사이인 데이터 모두 추출

ex. select * from customers
where age in (21, 25, 27)

-> customers 테이블에서 age가 21, 25, 27인 데이터 모두 추출

ex. select * from customers
where name in ('윤주아', '정현준')

-> name이 윤주아 또는 정현준인 데이터 모두 추출

ex. select * from customers
where name like '김%'

-> customers 테이블에서 name이 '김'으로 시작하는 데이터 추출
(%- 모든 문자를 지칭한다) ex) %next%-> next가 포함된 모든 문자

필터링 조건으로 여러개 적용해야 할 경우 (논리연산)
select * from customers
where age>=21 and gender='male'

-> age는 21이상이고 gender는 'male'인 모든 데이터 추출
AND- 그리고, OR- 또는, NOT- 아닌

ex. select * from food_orders
where cuisine_type='Korean' and price>=30000

-> cuisine_type이 Korean이고 price가 30000 이상인 모든 데이터 추출

0개의 댓글