75일차 - SQL 기초

김민찬·2021년 7월 23일
0

취업으로의 여정

목록 보기
76/196
post-custom-banner

SQL(Structured Query Language) 을 공부하고 있다.

어제는 데이터베이스 관련 명령어들을 정리했으니, 오늘은 SQL 명령어들을 정리하겠다.

가장 많이 사용되는 것은 SELECT 와 FROM일 것이다.

  • SELECT 는 데이터 셋에 포함될 특성(column)들을 특정한다.
  • FROM 은 어느 테이블에서 가져올지를 명시하는 것이다.

SELECT와 FROM을 함께 사용한 명령어를 작성해 보자면,

SELECT *
FROM table_name;

위와같이 와일드 카드를 써서 전체를 가져올 수도 있고,

SELECT column1, column2, ...
FROM table_name;

이렇게 가져오고 싶은 column을 선택해서 가져올 수도 있다.

  • WHERE 는 WHERE의 조건과 만족하는 데이터만 가져오는 필터 역할을 한다.

만약 user라는 테이블 에서 age라는 column이 25인 데이터 중 name과 age인 column을 가져오고 싶으면 아래와 같이 작성하면 된다.

SELECT name, age
FROM user
WHERE age = 25;

WHERE 에서 비교로
기본적으로 알고 있는 (=, >, <. >=, <=) 말고도

OperatorDescription
<>Not equal
BETWEENBetween a certain range
LIKESearch for a pattern
INTo specify multiple possible values for a column

이 있다.

헷깔릴 수 있는 LIKE와 IN의 예시를 써보자면

  • LiKE
SELECT column1, column2
FROM table_name
WHERE column2 LIKE '%string%'

이런식으로 사용된다.
여기서 나오는 퍼센트(%) 기호는 LIKE와 보통 같이사용 되는데, 와일드 카드와 비슷한 역할을 한다
' _ ' 이 표시는 하나의 문자를 모를때 쓰는 것이고, %는 한 개 이상의 문자를 모를 때 사용한다.
KOREA라는 단어를 예를 들어보자면 만약 A 한 단어만 까먹었을 때는

...
WHERE column LIKE 'KORE_';

이렇게 사용하면 되고 만약 KO밖에 생각이 안나면

...
WHERE column LIKE 'KO%';

이렇게 사용하면 된다.

  • IN
SELECT *
FROM table_name
WHERE column1 IN ('hello','world');

이렇게 작성하면 column1에서 'hello'그리고 'world'라는 단어와 일치하는 데이터를 찾는다.

  • ORDER BY

ORDER BY는 말 그대로 정렬을 하는 것이다 어떤 기준으로 정렬을 할지 명시할 수 있다.
defalut 값은 오름차순이고 DESC를 기준 뒤에다 붙이면 내림차순으로 정렬된다.

  • LIMIT

LIMIT도 문자 그대로 제한을 하는 것이다. 결과로 출력될 데이터들의 갯수를 제한한다. 쿼리문에서 사용할때 가장 마지막에 작성한다.

SELECT *
FROM table_name
ORDER BY column1 DESC
LIMIT 100;

이런 식으로 작성한다.

profile
두려움 없이
post-custom-banner

0개의 댓글