JX405기_비트/mysql

Day10-1 MySQL 테이블 생성, 컬럼 CRUD , 기본 문법

_하루살이_ 2023. 2. 7. 14:24

테이블 생성하기

조건 설정하고 apply

 

데이터 조회하기

SELECT * FROM basic.student;

 

데이터 삽입하기

INSERT INTO `basic`.`student` (`id`, `name`, `korean`, `english`, `math`) VALUES ('17', '안녕히', '11', '11', '12');

 

데이터 수정하기

UPDATE `basic`.`student` SET `name` = '안녕히' WHERE (`id` = '16');

 

데이터 삭제하기

DELETE FROM `basic`.`student` WHERE (`id` = '17');

 

 

 

WHERE 조건의 AND, OR, NOT

-- 1. AND, OR, NOT

SELECT * FROM `basic`.`student`
WHERE `name` = '조재영' AND `korean` >= 5;

SELECT * FROM `basic`.`student`
WHERE `name` = '조재영' OR `korean` >= 5;

SELECT * FROM `basic`.`student`
WHERE NOT `name` = '조재영';

 

DISTINCT 중복된 값 제외

-- 2. DISTINCT
SELECT DISTINCT `name` FROM `student`;

 

정렬 ORDER BY

-- 3. ORDER BY
SELECT * FROM `student`
ORDER BY `name` DESC;

 

조회 행 수 제한 LIMIT

-- 4. LIMIT
SELECT * FROM `student`
WHERE `korean` >= 3
LIMIT 5;

 

조건에 맞는 값의 갯수 구하기 COUNT

-- 5. COUNT
SELECT COUNT(*) FROM `student` WHERE `korean` >= 3;

 

포함된 문자열 구하기 LIKE

-- 6. LIKE
SELECT * FROM `student`
WHERE `name` LIKE '김%희';

 

여러 값을 OR로 묶는 조건문 IN

-- 7. IN
SELECT * FROM `student`
WHERE `name` IN ('조재영', '김철희');

 

조건 사이의 값 구하기 BETWEEN AND

-- 8. BETWEEN
SELECT * FROM `student`
WHERE `id` BETWEEN 1 AND 5;

 

컬럼명 명칭 정하기 AS

-- 9. AS
SELECT `id` AS '번호', `name` AS '이름' FROM `student`;

 

INNER JOIN : 값이 일치하는 것만 조인 교집합

-- 10. INNER JOIN
SELECT `b`.`id`, `title`, `content`, `entry_date`, `modify_date`, `nickname` FROM `board` as `b`
INNER JOIN `user` as `u`
ON `b`.`writerId` = `u`.`id`
WHERE `b`.`writerId` = 1;

 

LEFT JOIN  : 왼쪽의 테이블을 중심으로 일치하는 값이 있으면 넣고 없으면 null로 비우기

-- 11. LEFT JOIN
SELECT `b`.`id`, `title`, `content`, `entry_date`, `modify_date`, `nickname` FROM `board` as `b`
LEFT JOIN `user` as `u`
ON `b`.`id` = `u`.`id`;

 

RIGHT JOIN  : 오른쪽의 테이블을 중심으로 일치하는 값이 있으면 넣고 없으면 null로 비우기

-- 12. RIGHT JOIN
SELECT `b`.`id`, `title`, `content`, `entry_date`, `modify_date`, `nickname` FROM `board` as `b`
RIGHT JOIN `user` as `u`
ON `b`.`id` = `u`.`id`;

 

그룹화 하기 GROUP BY

-- 13. GROUP BY
SELECT `customer_id`, COUNT(`customer_id`) FROM `sakila`.`rental`
GROUP BY `customer_id`;

 

SUBQUERY : 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문 (INNER JOIN 대신 사용가능)

-- 14. SUBQUERY
SELECT * FROM `rental`
WHERE `customer_id` IN (
	SELECT `customer_id` FROM `customer`
    WHERE `first_name` LIKE 'cla%'
);