- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MariaDB
- CRUD
- 면접을 위한 cs 전공지식 노트
- CSS
- LEVEL 1
- TWIL
- javascript
- java
- sql
- 에러핸들링
- 리팩터링 2판
- Refactoring
- Docker
- react
- LEVEL 2
- 프로그래머스
- typescript
- 코어 자바스크립트
- mongodb
- TMIL
- Git
- LEVEL1
- TIL
- 배포
- 아고라스테이츠
- Err-Handling
- 알고리즘
- 코딩테스트
- 오늘도 개발자가 안된다고 말했다
- First Project
Archives
성장에 목마른 코린이
[DB] 헷갈리는 DB 조작 (INSERT, UPDATE, JOIN) 본문
728x90
INSERT INTO _ VALUES
데이터베이스의 테이블/열에 값(VALUES)을 추가합니다.
// 컬럼이름과 값을 지정해주는 방법
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
// 모든 값을 추가 할때 컬럼 이름을 안 써도 됩니다.
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
// SQL Part 4_2
// user 테이블에 데이터를 추가하기 위한 SQL을 작성해주세요.
// 원하는 name, email을 사용하시면 됩니다.
INSERT INTO user (name, email)
VALUE ('minhyuk','mhp4718@gmail.com');
// SQL Part 4_10
// content의 데이터를 추가하기 위한 SQL을 작성해주세요.
// duhyunkim이 작성한 컨텐츠를 추가해주세요. 제목과 본문은 자유입니다.
// (참고: duhyunkim의 아이디는 1입니다.)
INSERT INTO content (title, body, userId)
VALUES ('database sprint','database is very easy', 1)
UPDATE SET
업데이트 시키고싶은 테이블을 SET을 이용해 업데이트 합니다.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
UPDATE Customers
SET ContactName = 'MinHyuk', City= 'Pangyo'
WHERE CustomerID = 1;
// SQL Part4_9
// content의 데이터를 수정하기 위한 SQL을 작성해주세요.
// title이 database sprint인 content 데이터에서 body를 database is very easy로 수정해야합니다.
UPDATE content
SET body = 'database is very easy' WHERE title='database sprint
JOIN
INNER JOIN / JOIN
// 둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결합니다.
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
LEFT JOIN
// 둘 이상의 테이블을 왼쪽 테이블과 서로 공통된 부분을 기준으로 연결합니다.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
RIGHT JOIN
// 둘 이상의 테이블을 오른쪽 테이블과 서로 공통된 부분을 기준으로 연결합니다.
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
FULL OUTER JOIN / FULL JOIN
// 왼쪽, 오른쪽 테이블 레코드에 일치하는 항목이 있는 모든 레코드를 반환합니다.
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
SQL Part 5 SPRINT
// JiSungPark이 작성한 content의 category name을 찾기위한 SQL을 작성해주세요.
const PART5_2_6 =
`SELECT category.name FROM category
LEFT JOIN content_category
ON category.id = content_category.categoryId
LEFT JOIN content
ON content_category.contentId = content.id
LEFT JOIN user
ON content.userId = user.id
WHERE user.name = 'jiSungPark'`;
// category의 name이 soccer인 content의 title, body, created_at을 찾기위한 SQL을 작성해주세요.
const PART5_2_7 =
`SELECT content.title, content.body, content.created_at FROM content
LEFT JOIN content_category
ON content.id = content_category.contentId
LEFT JOIN category
ON content_category.categoryId = category.id
WHERE category.name = 'soccer'`;
// category의 name이 soccer인
// content의 title, body, created_at, user의 name을 찾기위한 SQL을 작성해주세요.
const PART5_2_8 =
`SELECT content.title, content.body, content.created_at, user.name FROM user
LEFT JOIN content
ON user.id = content.userId
LEFT JOIN content_category
ON content.id = content_category.contentId
LEFT JOIN category
ON content_category.categoryId = category.id
WHERE category.name = 'soccer'`;
// duRiCha가 작성한 글의 개수 (컬럼명: ContentCount)를 출력하기 위한 SQL을 작성해주세요.
const PART5_2_9 =
`SELECT COUNT(*) AS ContentCount FROM content
LEFT JOIN user
ON user.id = content.userId
WHERE user.name = 'duriCha'`;
// 각 user(컬럼명: name)가 작성한 글의 개수 (컬럼명: ContentCount)를 출력하기 위한 SQL을 작성해주세요.
const PART5_2_10 =
`SELECT user.name AS name, COUNT(content.id) AS ContentCount FROM user
LEFT JOIN content
ON user.id = content.userId
GROUP BY user.name`;
'데이터베이스' 카테고리의 다른 글
[DB] 생성, 기본 문법 (CREATE, SHOW, DESC, DROP, ALTER) (0) | 2022.04.09 |
---|---|
[DB] SQL 내장함수 (0) | 2022.04.09 |
[DB] DB 조작 (SELECT, WHERE, LIKE, IN, ORDER BY) (0) | 2022.04.09 |
[DB] SQL(구조화 쿼리 언어) vs. NoSQL(비구조화 쿼리 언어) (0) | 2022.04.07 |
[DB] 데이터베이스의 필요성, 관련 명령어 (0) | 2022.04.07 |
Comments