카테고리 없음

PostgreSQL 조회 방법

SecuDedi 2025. 3. 31. 11:16

 

 

1. 데이터베이스 목록 조회

\l
 
 
  • 모든 데이터베이스 목록을 확인합니다.

 

2. 데이터베이스 전환

\c <database_name>
 
 
  • 다른 데이터베이스로 전환합니다.

 

3. 테이블 목록 조회

\dt
 
 
  • 현재 데이터베이스의 모든 테이블 목록을 확인합니다.

4. 특정 테이블의 컬럼 정보 조회

\d <table_name>
\d users
 
  • 해당 테이블의 컬럼명, 타입, 제약조건 등을 확인할 수 있습니다.

5. 전체 데이터 조회 (SELECT)

 
SELECT * FROM <table_name>;
SELECT * FROM users;
 
  • users 테이블의 모든 데이터를 가져옵니다.

6. 특정 컬럼만 조회

SELECT 컬럼1, 컬럼2 FROM 테이블이름;
SELECT id, name FROM users;
 
  • users 테이블에서 id와 name 컬럼만 조회합니다.

7. 조건을 추가한 조회 (WHERE)

SELECT * FROM 테이블이름 WHERE 조건;
SELECT * FROM users WHERE age > 30;
 
  • 나이가 30보다 큰 사용자만 조회합니다.

8. 정렬하여 조회 (ORDER BY)

SELECT * FROM 테이블이름 ORDER BY 컬럼명 [ASC|DESC];
SELECT * FROM users ORDER BY age DESC;
 
  • 나이를 기준으로 내림차순(DESC) 정렬합니다.
  • 기본값은 오름차순(ASC)입니다.

9. 조회 개수 제한 (LIMIT)

SELECT * FROM 테이블이름 LIMIT 숫자;
SELECT * FROM users LIMIT 5;
 
  • 상위 5개의 데이터만 가져옵니다.

10. 특정 위치부터 조회 (OFFSET)

SELECT * FROM 테이블이름 LIMIT 숫자 OFFSET 시작위치;
SELECT * FROM users LIMIT 5 OFFSET 10;
 
  • 11번째 데이터부터 5개를 가져옵니다.

11. 중복 제거하여 조회 (DISTINCT)

SELECT DISTINCT 컬럼명 FROM 테이블이름;
SELECT DISTINCT city FROM users;
 
  • users 테이블에서 중복되지 않는 city 값만 조회합니다.

12. 그룹별 집계 조회 (GROUP BY, HAVING)

SELECT 컬럼명, COUNT(*) FROM 테이블이름 GROUP BY 컬럼명;
SELECT city, COUNT(*) FROM users GROUP BY city;
 
  • 도시별 사용자 수를 구합니다.

HAVING을 추가하여 조건을 걸 수도 있습니다.

SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*) > 5;
 
  • 사용자 수가 5명 이상인 도시만 조회합니다.

13. 두 테이블 조인하여 조회 (JOIN)

SELECT A.컬럼명, B.컬럼명 FROM 테이블A AS A JOIN 테이블B AS B ON A.공통컬럼 = B.공통컬럼;
SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id;
 
 
  • users 테이블과 orders 테이블을 user_id로 연결하여 조회합니다.