[1일차] SQL이란?

jay bong·2024년 4월 15일

SQL

목록 보기
1/9
post-thumbnail

데이터를 다루기 위해서 SQL은 필수적이라고 합니다.그렇다면 SQL이 무엇이기에 배워야할까요?

이제부터 알아보도록 하겠습니다.

  • SQL이란?

    SQL을 풀어서 보게되면 'Structured Query Language'이다. 간단하게 말하면 데이터베이스를 쉽게 다루기 위한 언어입니다.

    즉, 우리가 데이터베이스에서 데이터를 꺼내고 수정하는 과정을 하기 위해서 SQL의 기본적인 문법을 알고 사용할 줄 알아야 합니다.

그렇다면 데이터베이스는 무엇이며 우리가 사용하려고 하는 데이터베이스는 어떤 형식으로 저장되어 있을까요??

  • 데이터베이스란?
    말 그대로 데이터들이 있는 곳입니다. 데이터에도 다양한 형태들(단어, 숫자, 음성, 비디오등..)이 존재하는 만큼 다양한 데이터베이스의 형태들이 나타납니다. 이를 다 다루는 것보다는 SQL에서 사용할 데이터베이스의 형태만을 보도록 하겠습니다.

    데이터베이스는 아래의 이미지처럼 테이블들로 구성되어 있습니다.

    이러한 테이블들은 또 다양한 칼럼들로 이루어진 것을 볼 수 있습니다.

    이러한 테이블에 들어있는 데이터들은 엑셀과 유사한 형태 있니니다.

이제 실제로 데이터를 사용할 수 있는 방법을 알아보겠습니다.

  • SQL 데이터 조회(SELECT,FROM)
    SELECT : 데이터를 가져오는 기본 명령어

    FROM : 데이터를 가져오는 테이블을 설정

    * : 모든 것

사용되는 문법의 형태는 다음과 같습다.

SELECT 칼럼1, 칼럼2
FROM 테이블명

[실습1] 테이블 'food_orders' 보기

SELECT *
FROM food_orders

이렇게 하면 다음과 같이 food_orders에 모든 칼럼을 볼 수 있습니다.

food_orders에 해당하는 칼럼이 너무 많아서 한눈에 보기 힘들 때 내가 원하는 값만을 가져오고 싶다면 select에 칼럼을 지정하면 됩니다. 예를 들어 food_orders에서 cuisine_type과 price만 가져와보겠습니다.

[실습2] 테이블 'food_orders' 칼럼 cuisine_type, price 추출

SELECT cuisine_type, price
FROM food_orders

위와 같이 원하는 데이터만을 확인 할 수 있습니다.

그리고 컬럼(column)에 별명(alias)를 정해 조금 더 사용자 친화적으로 확인 할 수 있습니다.
as 뒤에, 혹은 공백이후에 한글이나 특수문자가 포함되어 있다면 ""로 묶고, 영어일 경우 그대로 별명을 지정해 줄 수 있습니다.

[실습3] 테이블 'food_orders' 칼럼 cuisine_type, price 별명 설정

SELECT cuisine_type as cuisty,
		price "가격"
FROM food_orders

칼럼내에서도 조건에 맞는 데이터로 필터링을 할 수도 있습니다. 이때 사용하는 문법은 WHERE입니다.
WHERE는 특정한 조건을 만족하는 데이터를 찾을 때 사용할 수 있으며,

SELECT 칼럼
FROM 테이블
WHERE 필터링 조건

순으로 등장하여 사용할 수 있습니다.

또한 값들을 비교하기 위해 비교연산자를 사용하거나

비교연산자의미예시
=같다age=21
<>같지않다age<>21
>크다age>21
>=크거나 같다age>=21
<작다age<21
<=작거나 같다age<=21

기타 다양한 종류의 조건을 사용할 수 있습니다.

 between a and b #  a 와 b 사이
 in (A, B, C) # ‘포함’ 하는 조건
 like ‘문자%’ # 문자로 시작하는 경우
 like ‘%문자%’ # 문자를 포함하는 경우
 like ‘%문자’ # 문자로 끝나는 이름

위에서 설명한 조건을 여러개를 사용할 수도 있습니다. 논리연산자를 사용하면 되는데, 논리연산자는 다음과 같습니다.

논리연산자의미
AND둘 다 만족
OR둘 중 하나만 만족
NOT아닌

이것들을 다 사용을 해보겠습니다.

[실습4] 주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회

select *
from food_orders
where cuisine_type='Korean' 
	  and price>=30000

위와 같은 결과를 가져올 수 있습니다.

마지막으로 SQL을 하다보면 다양한 에러가 발생할 수도 있습니다! 그럴때는 에러 메세지를 읽어보면 어느 부분을 수정해야 하는지 알 수 있습니다!

오늘 공부한 부분은 앞으로 더 많은 것들을 시도할 때 기초가 될 것이기 때문에 잘 기억해 두어야 합니다.

profile
Fly High

0개의 댓글