본문 바로가기
postgreSQL

[PostgreSQL] SELECT를 활용한 데이터 조회

by 똘이토스 2023. 8. 2.

테이블에서 모든 데이터 조회하기

 

테이블에서 모든 데이터를 조회하려면 SELECT * FROM 구문을 사용합니다. 다음은 actors 테이블에서 모든 데이터를 조회하는 예입니다.

 

SELECT * FROM actors

 

 

테이블에서 특정 열 조회하기

 

테이블에서 특정 열만 조회하려면 SELECT 구문에 조회하려는 열 이름을 지정합니다. 다음은 actors 테이블에서 first_name과 last_name 열만 조회하는 예입니다.

 

SELECT first_name, last_name FROM actors;

 

 

테이블의 열에 별칭(Alias) 사용하기

 

열에 별칭을 사용하려면 AS 키워드를 사용합니다. 별칭은 조회 결과의 열 이름을 변경하는 데 사용됩니다. 다음은 actors 테이블에서 first_name 열을 firstname으로, last_name 열을 lastname로 조회하는 예입니다.

 

SELECT 
  first_name AS firstname, last_name AS lastname 
FROM 
  actors;

 

 

SELECT 구문에서 표현식 사용하기

 

SELECT 구문에서는 표현식을 사용할 수 있습니다. 표현식은 여러 열이나 상수, 함수 등을 조합하여 새로운 데이터를 생성합니다. PostgreSQL에서는 || 연산자를 사용하여 문자열을 연결할 수 있습니다. 다음은 actors 테이블에서 first_name과 last_name 열을 결합하여 full_name 열을 생성하는 예입니다.

 

SELECT 
  first_name || ' ' || last_name AS full_name
FROM 
  actors;

 

 

ORDER BY를 사용하여 레코드 정렬하기

 

ORDER BY 구문을 사용하면 조회 결과를 특정 열의 값에 따라 정렬할 수 있습니다. 기본적으로 ASC (오름차순)이 적용되며, 내림차순으로 정렬하려면 DESC를 사용합니다. 다음은 actors 테이블에서 모든 데이터를 first_name 열의 값에 따라 오름차순으로 정렬하여 조회하는 예입니다.

 

SELECT
  *
FROM
  actors
ORDER BY
  first_name;

 

 

 

별칭을 사용하여 ORDER BY로 레코드 정렬하기

 

ORDER BY 구문에서도 열의 별칭을 사용할 수 있습니다. 다음은 actors 테이블에서 first_name과 last_name 열을 결합하여 full_name 열을 생성하고, 이를 기준으로 조회 결과를 정렬하는 예입니다.

 

SELECT
  first_name || ' ' || last_name AS full_name
FROM
  actors
ORDER BY
  full_name;

 

 

표현식을 사용하여 ORDER BY로 레코드 정렬하기

 

ORDER BY 구문에서는 표현식을 사용할 수 있습니다. 표현식은 여러 열이나 상수, 함수 등을 조합하여 새로운 데이터를 생성합니다. 다음은 actors 테이블에서 모든 데이터를 first_name 열의 길이에 따라 오름차순으로 정렬하여 조회하는 예입니다.

 

SELECT
  *
FROM
  actors
ORDER BY
  LENGTH(first_name);

 

 

열 이름 또는 열 번호를 사용하여 ORDER BY로 레코드 정렬하기

 

ORDER BY 구문에서는 열 이름 뿐만 아니라 열 번호를 사용하여 조회 결과를 정렬할 수 있습니다. 다음은 actors 테이블에서 모든 데이터를 SELECT 구문의 첫 번째 열(actor_id)에 따라 오름차순으로 정렬하여 조회하는 예입니다.

 

SELECT
  *
FROM
  actors
ORDER BY
  1;

 

 

NULL 값이 있는 열을 ORDER BY로 정렬하기

 

ORDER BY 구문에서 NULLS FIRST 또는 NULLS LAST 옵션을 사용하면 NULL 값을 가진 레코드의 정렬 순서를 지정할 수 있습니다. 다음은 movies_revenues 테이블에서 모든 데이터를 revenues_domestic 열의 값에 따라 내림차순으로 정렬하되, NULL 값을 가진 레코드를 먼저 표시하는 예입니다.

 

SELECT
  *
FROM
  movies_revenues
ORDER BY
  revenues_domestic DESC
  NULLS FIRST;

 

 

DISTINCT를 사용하여 중복 없는 값 조회하기

 

DISTINCT 키워드를 사용하면 중복 없는(unique) 값만 조회할 수 있습니다. 다음은 employees 테이블에서 email 열의 중복 없는 값만 조회하는 예입니다.

 

SELECT DISTINCT email FROM employees;