SQL Select문 정리! - (Where, Limit, Distinct, Count, between)

김지환·2023년 4월 23일
0

sql

목록 보기
1/5
post-thumbnail

안녕하세요! 최근 제가 SQL Select문을 공부하면서 이것들을 velog에 기록해두고 혹시 나중에 까먹더라도 다시 찾아와서 되새김할려고 합니다! 꼭 개발 분야쪽이 아니더라도 제가 앞으로 기록할 SQL 문법이 다른 분들에게도 도움이 된다면 좋겠습니다!!🙂

SQL 뿐만 아니라 제가 공부하고 있는 프로그래밍 언어나 프로그램들도 앞으로 작성할 예정이니 많이 기대해주세요!😤


select

select는 특정 테이블의 데이터를 가져올때 사용할 수 있습니다. 예를 들어 orders 라는 테이블이 있다고 가정하면 아래와 같은 명령을 실행 할 수 있습니다.

select * from orders

참고로 '*' 은 orders의 데이터 중 전부 가져오는 것이라고 생각하시면 될 것 같습니다!😃


그렇다면 orders 테이블내에서 이름과 이메일의 필드만 출력려면 어떻게 해야할까요??🧐

이름과 이메일 필드명이 name, email이라고 가정한다면

select name, email from orders

위와 같은 방법으로 특정 필드명을 select 뒤에 작성해주시면 됩니다.


where

다음은 where를 사용하여 특정 조건이 충족하는 데이터를 가져오는 것을 알아보겠습니다.

만약 users라는 테이블에서 name이라는 필드가 있다고 가정했을 때 성이 김씨인 사람의 데이터만 가져오고 싶다면 아래와 같이 명령을 내릴 수 있습니다.

select * from users
where name like "김%"

여기서 %는 "김" 이라는 글자뒤에는 어떤 글자가 와도 상관없으며 앞 글자가 김씨인 데이터만 가져오겠다는 것을 의미합니다.

"%김", "%김%" 과 같이 작성한다면 "%김" 은 각각 "앞에는 어떤 문자든 상관 없고 끝에 '김'이라고 포함되어있는 데이터"
이며, "%김%""앞과 뒤에는 어떤 문자든 상관없지만 중간에 '김' 이라는 문자가 포함된 데이터" 를 의미합니다.

다음은 orders 라는 테이블에서 payment_method라는 필드가 있다고 가정했을 때 CARD로 결제를 한 사람들의 데이터를 뽑아온다고 가정한다면 이와 같이 명령을 할 수 있습니다.

select * from orders 
where payment_method = 'CARD' 

%를 사용해서 데이터를 가져올 때는 where '필드' like '특정 값%' 식으로 작성해야하지만 %를 사용하지않고 이름이 정해져있는 데이터를 불러 온다면 where '필드' like '특정 값' 혹은 where '필드' = '특정 값' 둘 다 사용해도 무관합니다.

그리고 limit을 추가하여 불러오는 데이터의 갯수를 조절할 수 있습니다.

select * from orders 
where payment_method = 'CARD' 
limit 5

위와 같이 작성한다면 payment_method의 필드 중 CARD 값 5개만 가져올 수 있습니다.

Distinct를 통해 중복되지 않게 데이터를 불러오기도 가능합니다.

select distinct(payment_method) from orders

select 뒤에 필드를 입력할 때 앞에 distinct를 입력하고 괄호로 묶어준다면 중복되지 않게 데이터를 불러 올 수 있습니다.

마지막으로 count와 between을 동시에 사용해서 select문을 작성해보겠습니다.

select count(*) from users
where created_at between "2020-07-12" and "2020-07-14"
and email like "%gmail.com"

select 뒤에 count(*)을 입력하면 출력한 데이터의 갯수를 출력할 수 있습니다.
또한 between을 통해 뒤에 날짜를 and 연결해서 입력해보았는데 이러면 7월 12일부터 14일 미만, 즉 13일까지의 데이터를 불러올 수 있습니다. 마지막으로 and email like "%gmail.com" 을 통해서 email 필드의 이메일중 gmail을 사용하는 사람들의 데이터를 불러올 수 있습니다. 정리를 하자면 users의 테이블에서 2020년 7월12일 ~ 13일에 가입한 유저 중 구글이메일을 사용하는 유저의 데이터를 불러온 것이라 할 수 있습니다.


저도 select문을 공부하면서 느낀건 자주 문법들을 사용해보고 부딪혀보면서 손에 감각을 익히면 나중에는 자연스럽게 사용할 수 있을거라고 많이 느꼈습니다. 앞으로도 다른분들에게 도움이 될만한 skill들을 가져와 보겠습니다. 읽어주셔서 너무 감사합니다!🙏

0개의 댓글

관련 채용 정보