728x90
목차
1. SELECT INTO
2. INSERT INTO SELECT
3. CASE-WHEN-END
1. SELECT INTO
- 쿼리 결과를 새 테이블로 만든다.
- MySQL에서는 CREATE TABLE 테이블명 SELECT * FROM 테이블명
- 기존에 존재하지 않는 테이블이 새로 생성된다. (일종의 뷰와 동일한 효과)
create table city_new select * from city where CountryCode=‘KOR’;
select * from city_new;
2. INSERT INTO SELECT
- 쿼리결과를 기존의 테이블에 추가한다(기존 테이블이 존재해야함)
- INSERT INTO 테이블명1 SELECT * FROM 테이블명2 WHERE 조건절…
- SELECT하는 테이블과 INSERT하는 테이블은 동일한 구조를 가져야함
- 두 개의 별도 쿼리를 하나로 합침
show create table city;
CREATE TABLE city_kor ( ID int(11) NOT NULL AUTO_INCREMENT, Name char(35) NOT NULL DEFAULT’’, PRIMARY KEY(‘ID’));
insert into city_kor select * from city where CountyCode=‘KOR’;
3. CASE-WHEN-END
- SQL의 조건문(if/switch문)에 해당
- 조건값에 따른 처리를 구분할 수 있다.
- CASE WHEN 조건값1 THEN .. WHEN 조건값2 THEN .. ELSE .. END
select case when length(Name) > 3 then upper(mid(Name, 1, 3))
when length(Name) <= 3 then upper(Name)
end, Population from city;
728x90
'IT > SQL' 카테고리의 다른 글
MySQL[8] -서브쿼리, 집합연산 (0) | 2022.05.26 |
---|---|
MySQL[7] - LIKE 검색, NULL값, GROUP BY/HAVING (0) | 2022.05.25 |
MySQL[5] - Join, Alias, View (0) | 2022.05.25 |
MySQL[4] - 쿼리결과 중복제거, 논리연산자, 결과정렬, 그외 (0) | 2022.05.24 |
MySQL[3] - SQL, CRUD (0) | 2022.05.24 |