SQL select문 사용법을 간단하게 알아보도록 하겠습니다. SQL 문법은 간만에 사용하려고 하면 간단한 것도 까먹게 되는데요.
이럴 때는 프로그래머스같은 코딩테스트 사이트에서 제공하는 SQL문제를 주기적으로 풀어주는 것도 도움이 됩니다.
아래 링크를 참고해보세요.
매일 하나씩! 프로그래머스 SQL 문제로 문법 잊지 않기
select문은 SQL을 배울 때 가장 처음으로 배우는 문법입니다. 어떤 테이블을 보여달라고 할 수 있고, 데이터를 선택해서 보여달라고 할 수도 있습니다.
말그대로 선택(select)하는 문법입니다. 그럼 어떻게 사용하는지 알아볼까요?
목차
SQL select 문 기본 사용법
가장 기본적은 select 문 사용 방법을 알아보도록 하겠습니다. 역시 가장 기본적인 것은 어떤 테이블의 모든 데이터를 가져와달라는 것입니다.
select * from table_name;
이렇게 하면, table_name이라는 테이블의 모든 행을 모든 열을 포함해서 가지고옵니다. *은 모든 열을 말합니다.
참고로, sql에서 행은 Row, 열은 Column이라고 합니다. 엑셀의 행과 열과 동일한 2차원 표라고 보면 되겠습니다.
열 | 열 |
---|---|
데이터 | 데이터 |
데이터 | 데이터 |
where 문법으로 데이터를 선별해서 select하기
특정 열의 데이터가 ‘무엇’인 행을 가져오고 싶다면, 어떻게 하면 좋을까요? 예를 들어 그렇다/아니다를 표현하는 열에서 0과 1로 구분짓는다면?
간단한 시나리오로, use라는 열에서 0이면 사용하지 않았고, 1이면 사용한 데이터라는 시나리오를 생각해볼 때, 사용하지 않은 데이터(행)만 가져오고 싶다면 이렇게 해볼 수 있습니다.
select * from table_name where use = 0;
이렇게 하면, 원하는대로 use 열이 0인 행, 즉 시나리오상 사용하지 않은 데이터만 모두 가져올 수 있습니다.
order by 문법으로 정렬해서 데이터 가져오기
엑셀을 생각해보면, 특정 열을 기준으로 오름차순 및 내림차순을 하는 기능을 제공하고 있습니다.
SQL select 문을 사용하면서도, 이와 같은 정렬 기능을 사용할 수가 있습니다.
이번에는 앞서 where문에 확장해서 정렬을 해서 조회해보도록 합시다.
이번 시나리오는, 사용하지 않은 데이터에서, name이라는 열을 기준으로 내림차순하는 시나리오입니다.
select * from table_name where use = 0 order by name desc;
desc는 내림차순을 뜻합니다.
select * from table_name where use = 0 order by name asc;
select * from table_name where use = 0 order by name;
위 두 구문은 동일합니다. asc, 즉 오름차순은 기본적인 값이기 때문에, 넣든, 넣지 않든 동일합니다.
여기까지, select 문의 사용 방법을 간단하게 알아보고, 부가적인 조회 문법 (where, order by)까지 알아보았습니다. 도움이 되셨으면 좋겠습니다!