[TIL] DQL (Data Query Language)

홍효정·2020년 11월 29일
0

TIL

목록 보기
26/40

DQL (Data Query Language)

DQL은 데이터를 쿼리하는데 사용되는 SQL문을 뜻합니다. Query의 사전적 의미는 묻다, 질문하다 라는 뜻 이다. 데이터베이스의 상황에 빗대어 보면, 데이터베이스 서버에게 데이터를 달라고 요청하는 것 이라고 해석할 수 있다. 실제로 프론트/백엔드 간의 소통을 위한 API를 구현할 때, 데이터베이스에 저장된 데이터를 쿼리해서 가져온 데이터를 응답으로 보내주는 경우가 많다.

  • SELECT : 데이터 조회
  • WHERE, LIKE : 데이터를 조회할때 조건을 부여할 수 있다.
  • JOIN : 연결성이 있는 테이블 결합

SELECT

SELECT * FROM table_name; # table_name 테이블의 모든 데이터 조회
SELECT songs.title FROM songs; 
# 현재 songs 테이블에 들어간 노래제목들만 뽑아내는 쿼리문

SELECT songs.title, songs.lyrics FROM songs; 
# `,`로 구분해서 나열 해 주면 여러 칼럼의 값을 테이블에서 뽑아올 수 있다.

WHERE 조건문

SELECT songs.lyrics FROM songs WHERE songs.title = '파도';
# 파도 라는 노래의 가사가 궁금하다면 다음과 같은 쿼리문을 작성할 수 있다. 

WHERE + LIKE 조건문

LIKE 문을 사용하면 문자열에 대해 검색하기가 훨씬 수월 해 진다. 예를들어, 우리가 이 데이터베이스를 가지고 음원사이트 서비스를 구현한다고 생각 해 보자. 사용자는 노래 가사의 일부 만으로도 노래를 검색하고 싶어 한다. 이럴때 LIKE 문을 사용할 수 있다.

LIKE 문은 특수문자를 사용해서 문자열을 검색 할 수 있다.

SQL LIKE Operator

SQL LIKE 연산자


예제 1

SELECT songs.title, songs.lyrics FROM songs WHERE songs.lyrics LIKE '%넘실넘실%';
# 위에서의 WHERE문은 = 연산자를 사용해서 정확한 값으로 비교를 했지만
# LIKE 문을 사용하면 이 처럼 넘실넘실이 포함된 데이터를 쿼리할 수 있다. 

예제 2

SELECT songs.title, songs.lyrics FROM songs WHERE songs.title LIKE 'All%';
# songs.title의 값이 All 로 시작하면 쿼리문에 의해 데이터가 조회된다.

SELECT songs.title, songs.lyrics FROM songs WHERE songs.lyrics LIKE '%가져가도 돼요';
# songs.lyrics의 값이 가져가도 돼요로 끝나면 쿼리문에 의해 데이터가 조회된다.

JOIN

JOIN 은 두개의 테이블을 결합할 때 사용 되는데 위의 밴다이어그램에 표현된 것 처럼 집합 개념으로 생각하면 이해하기 어렵지 않다. 교집합, 즉 연결성이 있는 부분(칼럼)으로 두 개의 테이블을 결합 할 수 있다.

profile
HHJ velog 🍔

0개의 댓글