SQL 기초 - DQL

김현호·2024년 1월 29일

SQL

목록 보기
1/1
post-thumbnail

SQL이란?

SQL (Structured Query Language)은 구조적인 질의 언어라는 뜻입니다.
SQL문은 데이터베이스를 조작하기 위한 표준 언어입니다. 데이터베이스 구조를 정의하거나 데이터 조회, 입력, 수정, 삭제를 위한 목적으로 사용됩니다.

데이터베이스란(DB) 데이터를 담고 있는 테이블입니다 (테이블은 하나 이상일 수 있음). 테이블은 열(Column)과 행(Row)으로 이루어진 표로 엑셀에서 작성되는 표를 생각하시면, 이해하시기 쉬울 겁니다.

개요

  • SQL의 유형 (DQL, DML, DDL, DCL, TCL)
  • SQL 실습이 가능한 사이트 소개
  • SQL문 SELECT, FROM, LIMIT(TOP) 실습

*이번 글의 목표는 데이터베이스에서 내가 원하는 데이터를 찾아서, 출력하는 것입니다.

SQL의 유형

SQL의 유형으로는 DQL, DML, DDL, DCL, TCL 총 5가지가 있습니다. 이 중에 가장 기본적이고 기초적인 유형인 DQL에 대해 알아 보겠습니다.

DQL

DQL (Data Query Language), 즉 질의어는 테이블 내의 데이터를 "조회"할 때 사용하는 SQL 유형입니다.

SELECT문

대표적인 DQL의 명령문이고, 기능은 데이터의 "검색" "조회" 입니다. 더 쉽게 말해 원하는 데이터를 찾는 역할을 합니다. 그리고 데이터를 찾기 위해선, 어디서 찾을건지도 명령해 줘야 합니다.

From절

어떤 테이블에서 데이터를 찾을 것인지 알려주는 명령어입니다. SELECT문과 같이 가장 기본적인 명령어면서, 한 세트라고 생각하시면 됩니다.

//기본 구조

SELECT [컬럼]
FROM [테이블 명];
//ex) 무엇을 가져올 것이냐? (어떤 Column을)

SELECT *                  //* = 테이블의 "모든" 컬럼을 가져오겠다.
SELECT CustomerName;      //테이블의 "고객명" 컬럼을 가져오겠다.

Limit절

테이블의 행을 조절하는 명령어입니다. 쉽게 말해 출력하고 싶은 개수를 정해줄때 활용합니다. 환경에 따라 다르겠지만, 데이터가 적은 테이블도 있고, 데이터가 아주아주 많은 테이블도 있을 겁니다. 작은 테이블의 경우엔 항상 전체를 출력해도 크게 상관없지만, 정말 큰 테이블의 경우 전부 출력하는 것은 비효율적일 수 있습니다. 그럴때 보통 Limit절을 활용해 데이터의 샘플을 먼저 확인하는 습관을 들이시는게 좋습니다.

//기본 구조

SELECT [컬럼]
FROM [테이블 명]
LIMIT 10;             //해당 테이블의 첫 10개 데이터만 보겠다.

SQL 실습

https://www.w3schools.com/

위 사이트는 프로그램 설치 없이 다양한 언어를 실습할 수 있는 정말 유용한 페이지입니다. 링크에 접속하신 후 SQL언어를 선택해주시면, 바로 실습이 가능합니다. 또한 원활한 실습을 위한 샘플 데이터베이스도 제공해주는 친절함까지...최고!

"Try it Yourself" 버튼을 누르면 바로 실습이 가능합니다.
오른쪽 상단에 있는 Your Database는 해당 사이트에서 제공해주는 샘플 데이터베이스들 입니다. 그 중에 Customers테이블의 모든 컬럼을 출력해 보겠습니다.

SQL Statement에 하고 싶은 명령을 오늘 배운 SELECT와 FROM을 활용해서 적어주고, "Run SQL" 버튼을 눌러 실행합니다.

그럼 아래 "Result"에 Customers(테이블 명) 테이블의 모든(*) 컬럼이 출력된 것을 시각적으로 확인 이 가능합니다.

*SQL문 마지막에는 항상 ; 기호로 마무리 해줍니다.


SELECT, FROM, LIMIT(TOP) 실습

해당 사이트를 활용해 아래 명령어들을 실행해 보세요!(아래 정답을 달아두었습니다. 보시기 전에 도전 ㄱㄱ)

  1. Customers 테이블의 CustomerName 컬럼 출력하기
  2. Customers 테이블의 CustomerName, Address, Country 컬럼 출력하기
    (hint , 쉼표 활용하기)
  3. OrderDetails 테이블의 OrderID, Quantity 컬럼 상위 20개 데이터만 출력하기
    (hint: TOP)

정답

//1.

SELECT CustomerName
FROM Customers;
//2. 

SELECT CustomerName, Address, Country
FROM Customers;
//3.

SELECT OrderID, Quantity
FROM OrderDetails
LIMIT 15;
//4. 위 LIMIT절에서 에러가 나오는 경우

SELECT TOP 15 OrderID, Quantity
FROM OrderDetails;

*SQL 환경에 따라 LIMIT절에서 에러가 나오는 경우가 있음, 그럴땐 TOP 활용.

참고
명령어는 줄바꿈하지 않아도 되고, 대문자, 소문자도 다 적용됩니다. 단지 명령어를 대문자로 하고 테이블 테이블 명, 컬럼, 조건, 등을 소문자로 하는 것이 "약속"일 뿐입니다. 강제하지 않습니다.


마무리

이번 글에서 원하는 데이터를 찾을 수 있는 SELECT, FROM, LIMIT(TOP)에 대해서 알아보았습니다. 데이터베이스 관련 종사자가 아닌 데이터를 활용하는 데이터분석가, 마케터, 기획자시라면 오늘의 내용만으로도 충분히 원하시는 데이터를 찾아 사용할 수 있을 것입니다. 이 외에도 좀더 세부적인 "조건"의 데이터를 찾고 싶으시다면, (예: ooo City에 사는 고객만 출력하기) WHERE절을 공부해보세요! 기회가 된다면 WHERE절에 대한 글도 작성해 보겠습니다.

감사합니다.

profile
나의 기록 저장소, 프론트, 백, 데이터

0개의 댓글