일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 데이터베이스
- DATABASE
- 서브쿼리
- DB
- 자바스크립트
- sql
- python데이터베이스연동
- javascript
- insertOne
- sqlite3
- PostgreSQL
- MongoDB
- query
- Join
- MySQL
- PostgresDB
- insert_into
- SubqueryFilter
- 파이썬
- 밴쿠버응급실
- python
- subquery
- Collections
- DBFilter
- cursor()
- statement
- 몽고디비
- onetoone
- postgres
- PreparedStatement
- Today
- Total
목록PostgreSQL (18)
새벽코딩

- LEFT JOIN은 두 테이블의 공통 데이터 (교집합) 뿐만 아니라, 좌측 TABLE의 모든 데이터를 가져오는 문법 1) 먼저 공통된 부분을 JOIN 하고 2) 추가로 나머지 값들 (왼쪽 TABLE의 나머지)을 가져와서 3) 빈값인 NULL로 채움 - QUERY 실습 =============================문제 time =========================== A. 모든 사진의 "파일명"을 조회하시오. 게시자가 있다면 "닉네임"도 함께 가져올 것. SELECT * FROM photos JOIN users ON users.id = photos.user_id ; 위 쿼리의 결과는 아래 그림의 위에 Table이다. 즉, 두 테이블(users와 photos)의 JOIN된 부분만 나타낸다..

테이블 및 데이터 생성 (참고, https://cloudstudying.kr/lectures/503) -- users 테이블 CREATE TABLE users ( id SERIAL PRIMARY KEY, nickname VARCHAR(50), email VARCHAR(100) ); -- photos 테이블 CREATE TABLE photos ( id SERIAL PRIMARY KEY, filename VARCHAR(255), user_id INTEGER REFERENCES users(id) ); -- comments 테이블 CREATE TABLE comments ( id SERIAL PRIMARY KEY, body VARCHAR(1000), user_id INTEGER REFERENCES users(id..

- JOIN 은 언제 쓰일까? : 각각의 Table에 나누어져 있는 데이터를 함께 보여주려 할때 JOIN을 사용한다. 예) 인스타그램에서 사용자 + 댓글 나타낼때 - JOIN의 종류는 크게 2가지로 나뉜다. 1) INNER JOIN 2) OUTTER JOIN - FULL JOIN - LEFT JOIN - RIGHT JOIN - INNER JOIN 방법 아래 쿼리는 사용자(users)와 댓글(comments) 정보를 합쳐준다. 결론은, 두 테이블 데이터를 하나로 합쳐서 가져온다. 두 테이블의 교집합인 안쪽 영역을 가져와 조인하는 것을 INNER JOIN 이라고 한다. 출처 : 홍팍의 'SQL 데이터 분석, 활용!'

참고 : https://cloudstudying.kr/lectures/509 테이블생성 및 데이터 DB 쿼리 CREATE TABLE orders( id SERIAL PRIMARY KEY, --PK status VARCHAR(50), created_at TIMESTAMPTZ ); CREATE TABLE beverages( id SERIAL PRIMARY KEY, name VARCHAR(50), price INTEGER, btype VARCHAR(50) ); CREATE TABLE order_details( id SERIAL PRIMARY KEY, order_id INTEGER REFERENCES orders(id), beverage_id INTEGER REFERENCES beverages(id), coun..

Many to Many 관계 (M:N 다대다) 아래 관계와 같이 likes 테이블을 통해서 다대다 관계를 형성해본다. -- likes 레코드 등록 INSERT INTO likes(user_id, photo_id) VALUES -- 사진#1에 달린 좋아요 (1, 1), -- 유저#1 (2, 1), -- 유저#2 -- 사진#2에 달린 좋아요 (1, 2), -- 유저#1 (2, 2), -- 유저#2 (3, 2), -- 유저#3 -- 사진#3에 달린 좋아요 (1, 3), -- 유저#1 (3, 3) -- 유저#3 ; SELECT * FROM likes ; table 해석 첫번째 행 : photo_id 가 1인 그림에 user_id가 1인 유저가 좋아요를 누름 두번째 행 : photo_id 가 1인 그림에 user..

- 일대일 관계 실습 개인 설정(SETTINGS) 테이블 setting table을 만들고, 기존에 user table과 아래와 같이 연결 테이블 생성 및 데이터 등록 쿼리 -- settings 테이블 생성 CREATE TABLE settings( id SERIAL PRIMARY KEY, --PK private BOOLEAN, -- BOOLEAN: 참(TRUE) / 거짓(FALSE) adding_photos VARCHAR(15), user_id INTEGER UNIQUE REFERENCES users(id) --FK : 개인설정 유저(N:1) ); -- settings 레코드 등록 INSERT INTO settings(private, adding_photos, user_id) VALUES (FALSE, ..

- Instargram DB에 개인설정 및 조아요 테이블을 만드시오 먼저 One to One (1:1) 관계를 살펴보면 Country - capital (하나의 나라에는 하나의 수도만 있는 관계이다) 여기서 FK는 범위가 더 작거나, 사용 빈도가 더 작은 쪽에 FK를 준다. 마찬가지로, 인스타그램 예에서는 user - settings 관계에서 settings에 FK를 준다. Many - to Many (M:N) 다 대 다 관계 예) 쇼핑몰에 customers 와 products 관계 A customer can order products. The product can be ordered by customers 이런 다대다 관계는 실제 구현시에, 중간 table을 놓고 여기에 FK를 둬서 양쪽 관계를 연결한..

여기서는 3 종류의 Table을 만들어서, 관계를 형성한다 user, photos, comments 3가지 table을 만들 예정 (instargram 컨셉) users 테이블 생성 및 데이터 추가 -- users 테이블 생성 CREATE TABLE users ( id SERIAL PRIMARY KEY, -- PK 선언(SERIAL: 자동 생성 타입) nickname VARCHAR(50), email VARCHAR(100) ); -- users 레코드 등록 INSERT INTO users(nickname, email) -- nickname과 email만 넣어줌(id자동) VALUES ('cloudstudying_kr', 'mail@cloudstudying.kr'), ('hongpark_cs', 'seho..