SQL/강의

[📘 엑셀보다 쉽고 빠른 SQL] 1주차

가지코딩 2025. 3. 20. 18:38

📘 1주차에 배울 내용

  1. 실습 세팅하기
  2. 데이터베이스, 테이플, 컬럼
  3. SELECT / FROM 문
  4. WHERE 절, 필터링 조건 (비교연산, BETWEEN, IN, LIKE)
  5. 여러 조건 적용하기 (논리연산)
  6. 숙제

💙 수업목표

  • 데이터베이스와 SQL이 무엇인지 이해한다.
  • SELECT, FROM 문을 이용하여 데이터를 조회한다.
  • WHERE 절을 이용하여 데이터를 필터링한다.

1. 실습 세팅하기

실습 프로그램(DBeaver) 설치하기

링크로 이동하여 OS에 맞는 프로그램을 설치한다.

설치 링크: https://dbeaver.io/download/

 

Download | DBeaver Community

Download DBeaver Community 25.0.0 Released on March 2nd 2025 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. System requirements. DBeaver PRO 25.0 Released on March 10th, 2025 PRO version website: dbeaver.com

dbeaver.io

 

 

다운로드된 파일을 실행

 

옵션은 변경하지 않고, 기본 세팅으로 설치했다.

 

 

데이터베이스 연결하기

  • DBeaver 실행
  • 좌측 상단 플러그 모양 아이콘 클릭
  • 새창에서 MySQL 선택 후, 다음 버튼 클릭

 

  • DB 접속정보 입력 (Server Host, Database, Username, Password)
  • Test Connection 버튼 클릭

 

  • 드라이버 설치도 해준다.

 

  • 잘 연결되었다.


2. 데이터베이스, 테이플, 컬럼

데이터베이스(Database, DB)란?

  • 쉽게 말해 '데이터가 저장되어있는 큰 폴더'
  • 데이터베이스(DB)는 여러 사람이 공유하여 사용할 수 있도록 체계화된 데이터의 집합을 뜻한다.
  • 컴퓨터 시스템에 전자적으로 저장되며, 데이터베이스 관리 시스템(DBMS)에 의해 제어된다.

 

테이블(Table)이란?

  • 데이터베이스 내에 데이터를 저장하는 형태
  • 행과 열로 구성된 구조를 가지고 있다.

 

 

컬럼(Column)이란?

  • 테이블에서 특정한 자료형의 데이터 값이 모여 있는 열
  • 컬럼(Column) 혹은 필드(field)라고 부른다.


 

3. SELECT / FROM 문

SELECT / FROM 문의 개념

SELECT 문은 데이터베이스에서 데이터를 조회할 때 사용한다.

SELECT * FROM [테이블명];
  • SELECT: 데이터를 가져오는 기본 명령어
  • FROM: 데이터를 가져올 테이블을 특정해주는 문법
  • *: 모든 컬럼을 가져와준다는 의미

즉, [테이블명]의 모든 컬럼의 데이터를 가져와라! 라는 뜻이다.

 

 

[실습]

  • 데이터 조회하기: food_orders 테이블의 모든 데이터 조회하기
SELECT * FROM food_orders;

 

  • 특정 컬럼만 가져오기: food_orders 테이블의 order_id, restaurant_name 컬럼 데이터 조회하기
SELECT order_id, restaurant_name FROM food_orders;

 

  • 별칭으로 가져오기 (as): food_orders 테이블의 order_id, restaurant_name 컬럼 데이터 조회하기
SELECT order_id as id, restaurant_name as name FROM food_orders;
SELECT order_id id, restaurant_name as name FROM food_orders;


4. WHERE 절

WHERE 절의 개념

WHERE 절은 원하는 데이터만 필터링하고 싶을 때 사용한다.

SELECT * FROM [테이블] WHERE [필터링 조건];

 

필터링 조건

  • 비교 연산자
비교연산자 의미 예시
= 같다 age = 21
gender = ’female’
!=, ^=, <> 같지 않다 (다르다) age != 21
age ^= 21
age <> 21
> 크다 age > 21
>= 크거나 같다 age >= 21
< 작다 age < 21
<= 작거나 같다 age <= 21

 

SELECT * FROM customers WHERE age = 21;		# 같다
SELECT * FROM customers WHERE age != 21;	# 같지 않다(다르다)
SELECT * FROM customers WHERE age > 21;		# 크다
SELECT * FROM customers WHERE age >= 21;	# 크거나 같다
SELECT * FROM customers WHERE age < 21;		# 작다
SELECT * FROM customers WHERE age <= 21;	# 작거나 같다

 

  • BETWEEN: A와 B 사이의 값
SELECT * FROM customers WHERE age BETWEEN 10 AND 20;

 

  • IN: '포함' 하는 값
SELECT * FROM customers WHERE age IN (15, 21, 31);

 

  • LIKE: 완전히 똑같지는 않지만, 비슷한 값
SELECT * FROM customers WHERE name like '김%'; 		# '김'으로 시작하는 이름
SELECT * FROM customers WHERE name like '%수%'; 	# '수'를 포함하는 이름
SELECT * FROM customers WHERE name like '%임'; 		# '임'으로 끝나는 이름

5. 여러 조건 적용하기 (논리연산)

논리연산자

WHERE 절에 부여할 조건이 여러 개인 경우 논리 연산자를 사용할 수 있다.

논리연산자 의미 예시
AND 그리고 age>20 and gender=’female’
→ 나이가 20세 이상이고, 여성
OR 또는 age>20 or gender=’female’
→ 나이가 20세 이상이거나, 여성
NOT 아닌 not gender=’female’
→ 여성이 아닌 

 

SELECT * FROM customers WHERE age > 21 AND gender = 'female';
SELECT * FROM customers WHERE age > 21 OR gender = 'female';
SELECT * FROM customers WHERE NOT age = 21;

6. 숙제

상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기

SELECT restaurant_name, customer_id FROM food_orders
WHERE (food_preparation_time BETWEEN 20 AND 30) AND cuisine_type="Korean";