부트캠프/DB

부트캠프 SQL 강의 1일차

nameless1004 2024. 6. 26. 17:45

1-1. 1주차 오늘 배울 것

SQL이란?

SQL은 데이터베이스와 대화를 하기 위한 언어이다.

1-2. 함께 시작하기 (설치 및 테스트)

DBeaver라는 프로그램으로 실습을 진행한다. 다운로드

DBeaver는 SQL을 쉽게 사용할 수 있도록 도와주는 도구이다.

위의 코드 모양을 클릭하면 아래 사진처럼 나온다.

여기서 우리가 사용할 MySQL을 클릭하면 된다.

선택 완료 후 서버 호스트와 패스워드를 지정해준다.

과정이 끝나면 위 사진 처럼 된다.

데이터 베이스

데이터 베이스는 쉽게 말해 데이터가 저장되어 있는 큰 폴더이다.

데이터베이스라는 큰 폴더가 있고 그 안에 파일이 있는데 이를 테이블이라고 생각할 수 있다.

테이블의 구조는 아래 사진과 같다.

테이블은 엑셀과 비슷한 구조로 데이터를 갖고 있고, 각 열을 컬럼 혹은 필드라고 부른다.

이메일 컬럼

 

1-3. SQL 데이터 조회하기

SQL 작성하기

DBeaver의 상단 패널에 보면 양피지 같은 아이콘이 있는데 그것을 누르면 SQL을 작성할 수 있다.

SQL 실행

작성한 SQL의 실행은 아래 사진의 버튼을 누르거나 CTRL + Enter 커맨드로 실행시킬 수 있다.

실행 결과

SELECT / FROM

  • Select : 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 쿼리에 사용된다.
  • From : 데이터를 가져올 테이블을 특정해주는 문법이다.
  • * : 모든 컬럼을 가져온다는 의미이다.

 

 

1-4. 필요한 항목만 뽑아서 사용하기 (SELECT)

필요한 항목만 뽑으려면 select 구문에서 지정해주면 된다.

select *에서 *을 빼고 직접 넣어보자!

select restaurant_name, addr
from food_orders fo

이렇게 작성한다면 restaurant_name 컬럼와 addr 컬럼만 가져와서 보여준다.

컬럼에 별칭을 붙여보자

컬럼에 별칭을 붙여서 줄여서 쓸 수 있다.

별칭을 붙이는 방법은 두 가지가 있다.

1. as 를 사용하는 방법

select (column name) as "(별칭)"

 

2. 띄워쓰기

select (column name) (별칭)

select restaurant_name as "음식점", addr as "주소"
from food_orders fo

이 상태로 실행하면 별칭으로 바뀌는 것을 볼 수 있다.

별명 지을 때 유의 사항

별명이 영문, 언더바라면 별명만 적어도 된다. 하지만 특수문자, 한글이라면 "별명"으로, 큰 따옴표로 묶어줘야 한다.

실습하기!

[실습] 컬럼을 선택하고 별명 지정하기

  • 1. 주문 (food_orders) 테이블에서 order_id, price, quantity를 가져와서 ord_no, 가격, 수량으로 별명 지어주기
  • 2. 고객(customers) 테이블에서 name, email을 가져와서 이름, e-mail로 별명 지어주기

실습1. 코드 및 결과

select order_id ord_no, price "가격", quantity "수량"
from food_orders fo

 

실습2. 코드 및 결과

select name "이름", email "e-mail"
from customers c

1-5. 조건에 맞은 데이터로 필터링 하기 (WHERE)

미리보기

select *
from customers c

위 SQL를 실행하면 아래와 같이 나온다.

여기서 age가 21인 고객들만 추리려면 where 절을 사용해서 필터링 하면 된다.

select*
from customers c
where age=21

 

WHERE 이란?

데이터 중에 특정 조건을 필터링 해야할 때가 있다. 이 때 사용되는 것이 WHERE 절이다.

WHERE절의 구조는 아래와 같다.

SELECT *
FROM 테이블
WHERE 필터링 조건(ex. 20살 이상)

실습하기!

[실습] WHERE 절을 이용한 필터링

  • 1. 주문(food-orders) 테이블에서 한국음식을 주문한 경우만 조회하기
  • 2. 결제(payments) 테이블에서 카드로 결제한 경우만 조회하기

실습1. 코드 및 결과

SELECT *
FROM food_orders fo
WHERE cuisine_type = "Korean"

 

실습2. 코드 및 결과

SELECT *
FROM payments p 
WHERE pay_type="card"

마무리

부트캠프가 백엔드 과정이다 보니 DB와 웹 개발에 대해 계속 공부하고 있는데 양이 많긴 하지만 하면 할수록 배울게 많아서 재밌는 거 같다.ㅎㅎ