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

+ Recent posts