본문 바로가기
Luna's 개발일지/SQL

[SQL.02] SQL 기초 쿼리문 연습하기

by luna-crescent 2023. 3. 6.
728x90

1. DB (DataBase)

데이터베이스란 특정 목적을 가지고 데이터를 정리하여 담고 있는 것이다. 

데이터를 원하는대로 저장하고 사용하기 위해서 데이터베이스에서는 CRUD 기능을 지원한다.

Create : 데이터 생성하기
Read : 저장된 데이터 읽어오기
Update : 저장된 데이터 변경하기
Delete : 저장된 데이터 삭제하기

데이터베이스를 잘 사용하기 위해서는 Read기능을 잘 활용해야한다.

방대한 양의 데이터를 원하는 형태로 가져오기 위해서는 SQL 쿼리문이 필요하다. 

SQL 쿼리문을 사용하면, 방대한 양의 데이터에서 내가 원하는 정보를 신속하게 가져올 수 있다.

이미지


2. SQL (Structured Query Language)

SQL은 데이터베이스에 요청(Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어다.

쿼리(Query)문은 데이터베이스에 명령을 내리는 것이다. 
데이터를 잘 가져오기 위해서는 Select 쿼리문을 써야한다.
Select 쿼리문는 어떤 테이블에서 어떤 필드의 데이터를 가져올 지로 구성되어 있다. 

select * from 테이블명
: 특정 테이블의 전체 내용을 가져오기

여기서 테이블은 데이터가 저장되어 있는 곳이고, 필드는 테이블 안의 데이터 구분값으로 볼 수 있다. 

아래의 표가 테이블 (테이블명 : order)이고, name, cust_ID 등의 구분값들이 필드다.

name cust_ID product_ID pay_date pay_mathod
이** yi123 ADB21D 2023-01-12 Npay
김** kim234 DDE23D 2023-02-22 card
박** park345 DSE34E 2023-01-26 Kpay
황** hw456 AER53C 2022-12-25 card

 

Select 쿼리문과 함께 쓰이는 문법 중 가장 많이 쓰이는 것은 Where절이다.
Where절은 데이터를 가져올 때 조건을 걸어주는 것이다. 

select * from 테이블명
where 필드명 = '값'
특정 테이블에서 필드명이 '값'에 해당하는 데이터만 가져오기

기본 Select 쿼리문과 Where절에 자주 쓰이는 문법들을 활용해서  

order 테이블에서 몇 가지 데이터를 가져오는 쿼리문을 작성하면 아래와 같다.

select * from order
order 테이블 전체 가져오기
기본 Where절
select * from order

where name = '이**'
order 테이블에서 성이 이씨인 고객 데이터 가져오기
name cust_ID product_ID pay_date pay_mathod
이** yi123 ADB21D 2023-01-12 Npay
같지않음 !=
select * from order

where pay_method != 'card'
order 테이블에서 결제 수단이 카드가 아닌 고객 데이터 가져오기
name cust_ID product_ID pay_date pay_mathod
이** yi123 ADB21D 2023-01-12 Npay
박** park345 DSE34E 2023-01-26 Kpay
범위 조건 between
select * from order
where pay_data between '2023-02-01' and '2023-02-28'
order 테이블에서 2023년 2월 1일부터 2월 28일 사이에 결제한 고객 데이터 가져오기
name cust_ID product_ID pay_date pay_mathod
김** kim234 DDE23D 2023-02-22 card
문자열 규칙 '패턴' 조건 like
select * from order
where product_ID like 'A%';
order 테이블에서 제품ID가 A로 시작하는 고객 데이터 가져오기
name cust_ID product_ID pay_date pay_mathod
이** yi123 ADB21D 2023-01-12 Npay
황** hw456 AER53C 2022-12-25 card

 

임시로 만든 적은 양의 테이블로 연습을 할때는 큰 의미가 없어보이지만, 

방대한 양의 데이터가 있을 때는 원하는 조건의 데이터를 찾으려면 한눈에 찾기 어려울 것이다. 

그럴 때 SQL 쿼리문을 활용하면 쉽게 원하는 데이터를 찾을 수 있을 것이다. 

728x90
반응형

댓글