1.1 Select (SQL)
데이터베이스 구조 이해하기
먼저, 데이터베이스가 데이터를 어떻게 저장하는지 기본 개념을 알아볼 필요가 있다. 데이터베이스의 데이터는 마치 spread sheet와 같이 구조화된다. 데이터베이스는 Table, Row, Column이라는 개념을 이용하여 구조화 되어 있으며, 각각의 정의는 다음과 같다.
- Table: 연관된 데이터들의 집합이다. 예를 들어, ‘회원’이라는 테이블에는 회원 정보가, ‘결제’ 테이블에는 결제 관련 정보가 저장된다.
- Column: 테이블에 저장될 데이터 유형을 정의한다. ‘회원’ 테이블에는 가입일시, 회원명, 전화번호 등이 포함될 수 있다.
- Row: 테이블의 가로 줄로, 각 데이터 항목을 나타낸다. 예를 들어 회원 A와 B의 정보는 각각 다른 row에 기록된다.
SELECT 구문의 기본
SELECT 구문은 데이터를 조회할 때 사용한다. 가장 기본적인 형태의 SELECT 구문은 아래와 같다.
SELECT 컬럼명 FROM 테이블명
ex)
1
2
3
4
5
6
-- TABLE1에서 C1 컬럼의 데이터를 조회
SELECT C1 FROM TABLE1;
-- TABLE2에서 C1과 C2 컬럼을 조회
SELECT C1, C2 FROM TABLE2;
별표(esterisk) 사용과 주의점
SELECT 구문에서는 별표(*)를 사용해 모든 컬럼을 조회할 수 있다.
ex)
1
2
-- TABLE1에서 모든 컬럼의 데이터를 조회
SELECT * FROM TABLE1;
Esterisk 구문에는 아래와 같은 장/단점이 존재한다.
- 장점: 간편하고 테이블에 어떤 데이터가 있는지 쉽게 파악할 수 있다.
- 단점: 모든 데이터를 가져오기 때문에 네트워크 트래픽이 증가한다.
편리한 구문임에도 불구하고 심각한 경우 서비스에 영향을 미칠 수 있다. 따라서 실무에서는 사용을 자제하는 게 좋다.
AS 구문과 별칭 사용
SELECT 구문을 사용해 데이터를 조회하면 기본적으로 저장된 컬럼명으로 조회된다. 하지만 컬럼의 이름은 code에서 사용하는 변수명을 사용하기 마련이다. 실제로 조회된 데이터를 export하고 싶다면 조회된 데이터에 별칭을 지정하고 싶을 수 있다. 이떄 사용 가능한 구문이 AS 이다. 활용 방법은 아래와 같다.
ex)
1
2
3
4
5
-- TABLE1의 C1 컬럼에 'C_One'이라는 별칭을 지정
SELECT C1 AS C_One FROM TABLE1;
-- TABLE2의 C1과 C2에 각각 'First'와 'Second'라는 별칭을 지정
SELECT C1 AS First, C2 AS Second FROM TABLE2;
This post is licensed under CC BY 4.0 by the author.