SQL

[SQL/solvesql] sql 입문자를 위한 데이터 조회 및 정렬

jy9892 2024. 11. 14. 22:10
반응형

 

이번 포스트에서는 SQL을 사용해 데이터를 조회하고, 필요한 조건으로 필터링하며, 특정 컬럼만 가져오는 기본적인 쿼리 문법을 다뤄보겠습니다. 예제로 사용할 데이터는 solvesql의 points 테이블입니다.

 

문제1 : 모든 데이터 조회하기

https://solvesql.com/problems/select-all/

 

https://solvesql.com/problems/select-all/

 

solvesql.com

 

points 테이블은 프란시스 앤스컴이 만든 Anscombe's quartet 데이터를 담고 있습니다. 이 데이터는 quartet 컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 시각화하면 전혀 다른 분포를 가지는 특징이 있습니다.

 

points 테이블에 있는 모든 데이터를 조회하는 쿼리를 작성해주세요.

 

해결

데이터베이스에서 특정 테이블의 모든 데이터를 확인하고 싶다면 SELECT *를 사용합니다. 여기서 *는 테이블의 모든 열을 의미하며, points 테이블의 모든 행과 열을 조회할 수 있습니다.

 
SELECT * FROM points;

 

이 쿼리를 실행하면 points 테이블의 전체 데이터가 출력됩니다.

 

문제2 : 특정 컬럼만 조회하기

https://solvesql.com/problems/select-column/

 

https://solvesql.com/problems/select-column/

 

solvesql.com

 

points 테이블에 있는 모든 데이터의 x, y 컬럼을 조회하는 쿼리를 작성해주세요.

 

해결

특정 조건에 맞는 데이터만 가져오고, 그 데이터를 오름차순이나 내림차순으로 정렬하고 싶을 때는 WHERE와 ORDER BY를 함께 사용할 수 있습니다. 예를 들어, quartet 값이 'I'인 행만 가져오면서, y 값을 기준으로 오름차순으로 정렬하려면 다음과 같이 작성할 수 있습니다.

 

 

  • WHERE: 특정 조건을 만족하는 행만 필터링합니다. 여기서는 quartet = 'I'인 데이터만 선택합니다.
  • ORDER BY: 결과를 특정 열 기준으로 정렬합니다. 이 경우, y 열 기준으로 오름차순 정렬됩니다.

 

select * from points where quartet='I' order by y

 

문제3 : 데이터 정렬하기

https://solvesql.com/problems/order-by/

 

https://solvesql.com/problems/order-by/

 

solvesql.com

 

points 테이블에서 quartet 컬럼의 값이 I인 데이터만 조회하되, y 컬럼의 값을 기준으로 오름차순 정렬이 되도록 쿼리를 작성해주세요.

 

해결

 

때로는 테이블의 모든 열이 아닌, 특정 열만 확인하고 싶을 때가 있습니다. 예를 들어, points 테이블의 x와 y 열만 보고 싶다면, SELECT 구문에서 필요한 열만 지정할 수 있습니다.

 

select x,y from points

 

 

이 기본 쿼리들을 활용하면 데이터베이스에서 원하는 데이터를 간편하게 조회할 수 있습니다. 데이터 분석과 SQL 학습의 기초가 되는 만큼 잘 익혀두세요.

반응형