SQL에서는 JOIN이라는 명령어를 사용해서 서로 관계가 있는 테이블 간의 열을 합치는 역할을 합니다. JOIN의 종류들은 다음과 같습니다.
지금까지 계속 사용했던 테이블들의 칼럼 명을 보면 이름, 주소, 전화번호, 이메일, 생년월일 등이 있는데 이러한 정보들을 활용해서 연관성을 지을 수 있는 테이블을 만들겠습니다.
CREATE TABLE transactions(
id serial primary key,
customer_id int,
transaction_date timestamp
);
transactions라는 테이블을 만들었고 칼럼들은 id는 primary key, customers 테이블과 관계를 지어줄 customer_id, transaction_date가 있습니다. 이제 transactions 테이블에 데이터를 삽입해보겠습니다.
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (1, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (2, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (3, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (4, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (5, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (6, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (7, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (8, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (9, current_timestamp);
INSERT INTO "transactions" ("customer_id", "transaction_date") VALUES (10, current_timestamp);
INSERT INTO "transactions" ("transaction_date") VALUES (current_timestamp);
INSERT INTO "transactions" ("transaction_date") VALUES (current_timestamp);
transaction_date 칼럼의 데이터 유형은 timestamp인데 PostgreSQL에서 current_timestamp를 해당 칼럼의 값으로 삽입하면 현재 시간이 입력됩니다.