728x90
SELECT INTO
쿼리 결과를 새 테이블로 만든다.
MySQL에서는 CREATE TABLE 테이블명 SELECT ~ FROM ~
기존에 존재하는 않는 테이블이 새로 생성된다.(일종의 뷰와 동일한 효과)
create table city_kor select * from city where CountryCode="KOR";
select * from city_kor;
INSERT INTO SELECT
쿼리결과를 기존의 테이블에 추가한다(기존 테이블이 존재해야함)
SELECT하는 테이블과 INSERT하는 테이블은 동일한 구조를 가져야한다.
show create table city;
CREATE TABLE `city_kor` (
`ID` int NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
);
insert into city_kor select * from city where CountryCode="KOR";
show create table city쿼리를 날려 결과값을 얻어 create table 구문을 이용하여 city_kor 테이블을 만든다. 그 후 insert into select 구문을 이용하여 city_kor에 한국 도시들을 넣은 후 출력하였다.
CASE WHEN END
SQL의 조건문에 해당한다.
조건 값에 따른 처리를 구분 할 수 있다.
select case when length(Name)>5 then upper(Name) when length(Name)<=5 then lower(Name) end, PoPulation
from city_kor;
도시 이름이 5글자 초과일 경우 도시이름을 대문자로 , 5글자 이하일 경우 도시이름을 소문자로 출력하고,도시의 인구도 같이 출력하였다.
728x90
'MySQL' 카테고리의 다른 글
서브쿼리,집합연산 (0) | 2022.11.22 |
---|---|
LIKE 검색,NULL,GROUPBY/HAVING (0) | 2022.11.22 |
JOIN,ALIAS,VIEW (0) | 2022.11.17 |
SQL DISTINCT 및 논리연산자 (0) | 2022.11.15 |
DISTINCT,AND,OR,NOT,IN,BETWEEN,ORDER BY 사용법 (0) | 2022.11.15 |