삽입이란 무엇입니까?

데이터베이스 시스템의 주요 목표는 테이블에 데이터를 저장하는 것입니다. 데이터는 일반적으로 데이터베이스 위에서 실행되는 응용 프로그램에 의해 제공됩니다. 이를 위해 SQL 가지고있다테이블에 데이터를 저장하는 데 사용되는 INSERT 명령입니다. 그만큼 INSERT 명령은 새 행을 생성합니다.테이블에 데이터를 저장합니다.

기본 구문

아래의 SQL INSERT 명령어의 기본 문법을 살펴보자.

INSERT INTO `table_name`(column_1,column_2,...) VALUES(value_1,value_2,...);

  • INSERT INTO `테이블 이름`는 MySQL 서버에 `table_name`이라는 테이블에 새 행을 추가하도록 지시하는 명령입니다.
  • (column_1,column_2,...)새 행에서 업데이트할 열을 지정합니다.
  • VALUES(값_1,값_2,...)새 행에 추가할 값을 지정합니다

새 테이블에 삽입할 데이터 값을 제공할 때 서로 다른 데이터 유형을 다룰 때 다음 사항을 고려해야 합니다.

  • 문자열 데이터 유형- 모든 문자열 값은 작은따옴표로 묶어야 합니다.
  • 숫자 데이터 유형- 모든 숫자 값은 작은따옴표나 큰따옴표로 묶지 않고 직접 제공해야 합니다.
  • 날짜 데이터 유형- "YYYY-MM-DD" 형식의 작은 따옴표로 날짜 값을 묶습니다.

예시:

데이터베이스에 추가해야 하는 다음과 같은 새 라이브러리 구성원 목록이 있다고 가정합니다.

전체 이름 생일 성별 물리적 주소 우편 주소 연락처 이메일 주소
레너드 호프스타터 남성 우드크레스트 0845738767
셀던 쿠퍼 남성 우드크레스트 0976736763
라제시 쿠트라팔리 남성 페어뷰 0938867763
레슬리 윙클 14/02/1984 남성 0987636553
하워드 왈로위츠 24/08/1981 남성 남쪽 공원 P.O. 상자 4563 0987786553

데이터를 하나씩 삽입합니다. Leonard Hofstadter부터 시작하겠습니다. 연락처 번호를 숫자 데이터 유형으로 취급하고 숫자를 작은따옴표로 묶지 않습니다.

INSERT INTO `구성원`(`이름`,`성별`,`물리적 주소`,`연락처 번호`) VALUES("Leonard Hofstadter","남성","Woodcrest",0845738767);

위의 스크립트를 실행하면 Leonard의 연락처에서 0이 삭제되는데, 그 이유는 값이 숫자 값으로 처리되고 중요하지 않기 때문에 시작 부분의 0이 삭제되기 때문입니다.

이러한 문제를 방지하려면 값을 아래와 같이 작은따옴표로 묶어야 합니다.

INSERT INTO `구성원`(`이름`,`성별`,`물리적 주소`,`연락처 번호`) VALUES("Sheldon Cooper","남성","Woodcrest", "0976736763");

위의 경우 zero(0)은 삭제되지 않습니다.

올바른 값이 올바른 열에 매핑되어 있는 한 열의 순서를 변경해도 INSERT 쿼리에는 영향을 미치지 않습니다.

아래에 표시된 쿼리는 위의 사항을 보여줍니다.

INSERT INTO `구성원`(`연락처 번호`,`성별`,`전체 이름`,`물리적 주소`)VALUES("0938867763","남성","Rajesh Koothrappali","Woodcrest");

위의 쿼리는 생년월일 열을 건너 뛰었습니다. 기본적으로 MySQL은 INSERT 쿼리에서 건너뛴 열에 NULL 값을 삽입합니다.

이제 생년월일이 제공된 Leslie에 대한 레코드를 삽입하겠습니다. 날짜 값은 "YYYY-MM-DD" 형식을 사용하여 작은따옴표로 묶어야 합니다.

INSERT INTO `구성원`(`성별`,`생년월일`,`성별`,`물리적 주소`,`연락처 번호`) VALUES("Leslie Winkle","1984-02-14","남성","Woodcrest", " 0987636553");

위의 모든 쿼리는 열을 지정하고 insert 문의 값에 매핑했습니다. 테이블의 모든 열에 대한 값을 제공하는 경우 삽입 쿼리에서 열을 생략할 수 있습니다.

INSERT INTO `구성원` 값(9,"Howard Wolowitz","남성","1981-08-24","SouthPark"," 사서함 4563", "0987786553", "lwolowitzemail.me");

이제 SELECT 문을 사용하여 Members 테이블의 모든 행을 봅니다. SELECT * FROM `members`;

회원번호full_names성별생일물리적 주소우편 주소contct_number이메일
1 자넷 존스여성21-07-1980 첫 번째 거리 플롯 4번개인 가방0759 253 542 이 이메일 주소는 스팸봇으로부터 보호됩니다. 그것을 보려면 JavaScript가 활성화되어 있어야 합니다.
2 자넷 스미스 존스여성23-06-1980 멜로즈 123없는없는이 이메일 주소는 스팸봇으로부터 보호됩니다. 그것을 보려면 JavaScript가 활성화되어 있어야 합니다.
3 로버트 필남성12-07-1989 3번가 34없는12345 이 이메일 주소는 스팸봇으로부터 보호됩니다. 그것을 보려면 JavaScript가 활성화되어 있어야 합니다.
4 글로리아 윌리엄스여성14-02-1984 2번가 23없는없는없는
5 레너드 호프스타터남성없는우드크레스트없는845738767 없는
6 셀던 쿠퍼남성없는우드크레스트없는976736763 없는
7 라제시 쿠트라팔리남성없는우드크레스트없는938867763 없는
8 레슬리 윙클남성14-02-1984 우드크레스트없는987636553 없는
9 하워드 왈로위츠남성24-08-1981 남쪽 공원P.O. 상자 4563987786553 이 이메일 주소는 스팸봇으로부터 보호됩니다. 그것을 보려면 JavaScript가 활성화되어 있어야 합니다.

Leonard Hofstadter의 연락처 번호가 연락처 번호에서 영(0)을 삭제했습니다. 다른 연락처 번호는 처음에 영(0)을 삭제하지 않았습니다.

다른 테이블에서 테이블에 삽입

INSERT 명령을 사용하여 다른 테이블의 테이블에 데이터를 삽입할 수도 있습니다. 기본 문법은 아래와 같습니다.

INSERT INTO table_1 SELECT * FROM table_2;

"이제 실용적인 예를 살펴보겠습니다. 시연을 위해 영화 카테고리에 대한 더미 테이블을 생성할 것입니다. 새로운 카테고리 테이블을 category_archive라고 부를 것입니다. 아래에 표시된 스크립트는 테이블을 생성합니다.

CREATE TABLE `categories_archive` (`category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))

위의 스크립트를 실행하여 테이블을 생성합니다.

이제 "카테고리 테이블의 모든 행을 카테고리 아카이브 테이블에 삽입합니다. 아래에 표시된 스크립트는 이를 달성하는 데 도움이 됩니다.

INSERT INTO `카테고리_아카이브` SELECT * FROM `카테고리`;

위의 스크립트를 실행하면 범주 테이블의 모든 행이 범주 아카이브 테이블에 삽입됩니다. 스크립트가 작동하려면 테이블 구조가 동일해야 합니다. 보다 강력한 스크립트는 삽입 테이블의 열 이름을 데이터를 포함하는 테이블의 열 이름으로 매핑하는 스크립트입니다.

아래에 표시된 쿼리는 사용법을 보여줍니다.

INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `카테고리`;

SELECT 쿼리 실행

SELECT * FROM `카테고리_아카이브`

아래에 표시된 다음 결과를 제공합니다.

category_idcategory_name비고
1 코메디유머가 있는 영화
2 로맨틱사랑 이야기
3 서사시이야기 고대 영화
4 공포없는
5 공상 과학 소설없는
6 스릴러없는
7 동작없는
8 로맨틱 코미디없는
9 만화없는
10 만화없는

요약

  • INSERT 명령은 테이블에 새 데이터를 추가하는 데 사용됩니다.
  • 날짜 및 문자열 값은 작은따옴표로 묶어야 합니다.
  • 숫자 값은 따옴표로 묶을 필요가 없습니다.
  • INSERT 명령을 사용하여 한 테이블에서 다른 테이블로 데이터를 삽입할 수도 있습니다.

SQL을 사용하여 한 테이블에서 다른 테이블로 정보를 복사할 수 있습니다.

INSERT INTO SELECT 문은 한 테이블의 데이터를 복사하여 기존 테이블에 삽입합니다.

SQL INSERT INTO SELECT 문,

INSERT INTO SELECT 문은 한 테이블에서 데이터를 선택하여 기존 테이블에 삽입합니다. 대상 테이블의 기존 행은 변경되지 않습니다.

SQL INSERT INTO SELECT, 구문

한 테이블의 모든 열을 다른 기존 테이블로 복사할 수 있습니다.

에 집어 넣다 테이블2
선택 *에서 1 번 테이블;

또는 원하는 열만 다른 기존 테이블에 복사할 수 있습니다.

에 집어 넣다 테이블2
(column_name(들))
고르다 column_name(들)
에서 1 번 테이블;

데모 데이터베이스

이 자습서에서는 잘 알려진 Northwind 데이터베이스를 사용합니다.

아래는 "고객" 테이블에서 선택한 항목입니다.

사용자 ID고객 이름담당자주소도시우편번호국가
1 알프레드 푸터키스트 마리아 안데르스 오베레 Str. 57 베를린 12209 독일
2 아나 트루히요 엠파레다도스와 헬라도스 아나 트루히요 아브다. 드 라 컨스티튜션 2222 멕시코 D.F. 05021 멕시코
3 안토니오 모레노 타케리아 안토니오 모레노 마타데로스 2312 멕시코 D.F. 05023 멕시코

그리고 "공급자" 테이블에서 선택:

SQL INSERT INTO SELECT, 예

"Suppliers"에서 "Customers"로 몇 개의 열만 복사:

"고객"에서 독일 공급업체만 복사합니다.

sql INSERT INTO 쿼리는 데이터베이스 테이블이 생성될 때 의미가 있습니다. 즉, 테이블이 존재하고 이름이 있고 행과 열이 생성되었습니다. 테이블은 연산자에 의해 생성되고 테이블은 연산자에 의해 수정됩니다.

SQL 쿼리 INSERT INTO - 쿼리 구문

sql INSERT INTO 쿼리의 구문은 다음과 같습니다.

INSERT INTO table_name (필요한 경우 데이터를 삽입할 열 목록을 괄호 안에 삽입) VALUES 삽입 데이터1, 삽입 데이터2, 삽입 데이터3.

IGNORE 옵션은 INSERT와 INTRO 사이에 삽입할 수 있습니다. 필수 사항은 아닙니다. 테이블을 편집할 때 기본 키를 보호하는 데 필요합니다. 그렇지 않고 편집하는 동안 기본 키의 중복이 있는 경우 IGNORE 옵션을 삽입할 때 기본 키가 있는 첫 번째 행은 수정된 테이블에 남아 있고 다른 기본 키는 삭제됩니다. 기본적으로 이 옵션은 생략됩니다.

선택적 옵션 LOW_PRIORITY 및 DELAYED가 있습니다. 데이터베이스에 정보를 추가하기 위한 우선 순위를 결정합니다. 첫 번째는 데이터베이스 릴리스의 기대치를 설정하고 두 번째는 정보의 버퍼링을 의미합니다.

쿼리 라인: VALUES 절이 있는 INSERT는 데이터베이스 테이블에 단일 행을 추가합니다. VALUES 절에는 이 데이터의 값이 포함됩니다.

VALUES 절 대신 하위 쿼리를 사용할 수 있습니다. 하위 쿼리가 있는 INSERT는 하위 쿼리에서 반환된 행을 테이블에 추가합니다. 데이터베이스 서버는 하위 쿼리를 처리하고 반환된 모든 행을 테이블에 삽입합니다. 하위 쿼리가 행을 선택하지 않으면 서버는 행을 삽입하지 않습니다.

  • subquery_1 - 서버가 뷰와 같은 방식으로 처리하는 서브쿼리
  • subquery_2는 테이블에 삽입된 행을 반환하는 하위 쿼리입니다. 이 하위 쿼리의 목록에는 INSERT 열 목록과 동일한 수의 열이 있어야 합니다.

하위 쿼리는 MySQL 데이터베이스에서 실제로 사용되지 않습니다.

MySQL 데이터베이스의 INSERT INTO SQL 쿼리 예제

INSERT INTRO 명령을 사용하여 MySQL 데이터베이스에 새 행을 삽입합니다.

첫 번째 예입니다.

table_name 테이블에 새 행을 삽입합니다.

INSERT INTO table_name VALUES('2','145','1','이름');

이것은 table_name 테이블의 열에 2,145,1,name 값을 삽입하려는 것을 의미합니다. 열을 지정하지 않았기 때문에 테이블의 모든 열에 값이 채워집니다.

두 번째 예.

table_name 테이블의 원하는(지정된) 열에 정보를 삽입합니다.

INSERT INTO table_name(client_customer, client_subclient, client_mail) VALUES('name1','subname1',' [이메일 보호됨]'), ('이름2','하위이름2',' [이메일 보호됨]'), ('이름3','하위 이름3',(' [이메일 보호됨]′);

사이트 ""를 위해 특별히 Igor Serov.

앞에서 설명한 SELECT 문 외에도 DML(데이터 조작 언어)에는 INSERT, UPDATE 및 DELETE의 세 가지 다른 문이 포함되어 있습니다. SELECT 문과 마찬가지로 이 세 문은 테이블이나 뷰에서 작동합니다. 이 문서에서는 INSERT 문을 다루고 나머지 두 문은 다음 문서에서 설명합니다.

INSERT 문행(또는 행의 일부)을 테이블에 삽입합니다. 이 명령에는 두 가지 다른 형식이 있습니다.

INSERT tab_name [(col_list)] 기본 값 | VALUES (( DEFAULT | NULL | 식 ) [ ,...n]) INSERT INTO tab_name | view_name [(col_list)] (select_statement | execute_statement) 구문 규칙

명령문의 첫 번째 형식을 사용하면 한 행(또는 행의 일부)을 테이블에 삽입할 수 있습니다. 그리고 INSERT 문의 두 번째 형식을 사용하면 SELECT 문의 결과 집합이나 EXECUTE 문에 의해 실행되는 저장 프로시저를 테이블에 삽입할 수 있습니다. 저장 프로시저는 테이블에 삽입할 데이터를 반환해야 합니다. INSERT 문과 함께 사용할 때 SELECT 문은 해당 열의 데이터 형식이 호환되는 한 데이터가 삽입되는 다른 테이블 또는 동일한 테이블에서 값을 선택할 수 있습니다.

두 형식 모두에서 삽입된 각 값의 데이터 형식은 해당 테이블 열의 데이터 형식과 호환되어야 합니다. 모든 문자열 및 임시 데이터는 따옴표로 묶어야 합니다. 숫자 값은 따옴표로 묶을 필요가 없습니다.

한 줄 삽입

INSERT 문의 두 가지 형식 모두에서 명시적 열 목록은 선택 사항입니다. 열 목록이 없으면 테이블의 모든 열을 지정하는 것과 같습니다.

기본값 매개변수모든 열에 대한 기본값을 삽입합니다. TIMESTAMP 데이터 유형 또는 IDENTITY 속성이 있는 열은 기본적으로 시스템에서 자동으로 생성된 값과 함께 삽입됩니다. 다른 데이터 유형의 열의 경우 해당하는 null이 아닌 기본값이 있으면 삽입되고 그렇지 않으면 NULL이 삽입됩니다. 열에 null 값이 허용되지 않고 열에 대해 기본값이 정의되지 않은 경우 INSERT 문이 실패하고 적절한 메시지가 표시됩니다.

다음 예에서는 SampleDb 데이터베이스의 Employee 테이블에 행을 삽입하여 INSERT 문을 사용하여 데이터베이스에 소량의 데이터를 삽입하는 방법을 보여줍니다.

샘플 DB를 사용하십시오. 직원 값에 삽입(34990, "Andrey", "Batonov", "d1"); 직원 값에 삽입(38640, "Aleksey", "Vasin", "d3");

두 가지가있다 다른 방법들에 값 삽입 새로운 라인. 아래 예에서 INSERT 문은 명시적으로 다음을 사용합니다. 예어 NULL을 입력하고 해당 열에 NULL 값을 삽입합니다.

샘플 DB를 사용하십시오. 직원 값에 삽입(34991, "안드레이", "바토노프", NULL);

테이블의 일부(전부는 아님) 열에 값을 삽입하려면 일반적으로 해당 열을 명시적으로 지정해야 합니다. 지정되지 않은 열은 NULL 값을 허용하거나 기본값이 정의되어 있어야 합니다.

샘플 DB를 사용하십시오. INSERT INTO Employee(Id, FirstName, LastName) VALUES(34992, "Andrey", "Batonov");

앞의 두 예는 동일합니다. Employee 테이블에서 null 값을 허용하는 유일한 열은 DepartmentNumber 열이며, 다른 모든 열의 경우 이 값은 CREATE TABLE 문의 NOT NULL 절에 의해 금지되었습니다.

값의 순서 문장 값 INSERT 문은 CREATE TABLE 문에 지정된 순서와 다를 수 있습니다. 이 경우 해당 열이 열 목록에 나열된 순서와 일치해야 합니다. 다음은 원본과 다른 순서로 데이터를 삽입하는 예입니다.

샘플 DB를 사용하십시오. INSERT INTO 직원(부서 번호, 성, ID, 이름) VALUES("d1", "Batonov", 34993, "Andrey");

여러 행 삽입

INSERT 문의 두 번째 형식은 하위 쿼리에서 선택한 하나 이상의 행을 테이블에 삽입합니다. 아래 예는 INSERT 문의 두 번째 형식을 사용하여 테이블에 행을 삽입하는 방법을 보여줍니다. 이 경우 모스크바에 있는 부서의 번호와 이름을 선택하고 결과 집합을 이전에 만든 새 테이블에 로드하는 쿼리가 수행됩니다.

위의 예에서 만든 새 MoscowDepartment 테이블에는 누락된 Location 열을 제외하고 기존 Department 테이블과 동일한 열이 있습니다. INSERT 문의 하위 쿼리는 Location 열의 값이 Moscow인 Department 테이블의 모든 행을 선택한 다음 쿼리 시작 부분에 생성된 새 테이블에 삽입됩니다.

아래 예는 INSERT 문의 두 번째 형식을 사용하여 테이블에 행을 삽입하는 또 다른 방법을 보여줍니다. 이 경우 p2 프로젝트에서 작업하는 "관리자" 위치의 모든 직원에 대한 직원 번호, 프로젝트 번호 및 프로젝트 시작 날짜를 가져오는 쿼리가 실행되고 결과 집합을 처음에 생성된 새 테이블에 로드합니다. 쿼리의:

샘플 DB를 사용하십시오. CREATE TABLE ManagerTeam(EmpId INT NOT NULL, ProjectNumber CHAR(4) NOT NULL, EnterDate DATE); INSERT INTO ManagerTeam(EmpId, ProjectNumber, EnterDate) SELECT EmpId, ProjectNumber, EnterDate FROM Works_on WHERE Job = "Manager";

INSERT 문을 사용하여 행을 삽입하기 전에는 MoscowDepartment 및 ManagerTeam 테이블(위의 예에서)이 비어 있었습니다. 테이블이 이미 존재하고 데이터 행이 포함된 경우 새 행이 테이블에 추가됩니다.

이전 섹션에서는 미리 생성된 테이블에서 데이터를 얻는 작업을 고려했습니다. 이제 테이블을 생성/삭제하고, 새 레코드를 추가하고, 이전 레코드를 삭제하는 방법을 알아낼 때입니다. 이러한 목적을 위해 SQL다음과 같은 연산자가 있습니다. 만들다- 테이블 생성 바꾸다- 테이블의 구조를 변경합니다. 하락- 테이블 또는 필드를 삭제합니다. 끼워 넣다- 테이블에 데이터를 추가합니다. 연산자의이 연산자 그룹과 친분을 시작합시다. 끼워 넣다.

1. 전체 라인 추가

운영자는 이름에서 알 수 있듯이 끼워 넣다데이터베이스 테이블에 행을 삽입(추가)하는 데 사용됩니다. 추가는 여러 가지 방법으로 수행할 수 있습니다.

  • - 한 줄 전체 추가
  • - 라인의 일부 추가
  • - 쿼리 결과를 추가합니다.

따라서 테이블에 새 행을 추가하려면 테이블 이름을 지정하고 열 이름을 나열하고 구성을 사용하여 각 열의 값을 지정해야 합니다. 에 집어 넣다 table_name(필드1, 필드2 ...) 가치 (값1, 값2...). 예를 들어 보겠습니다.

INSERT INTO 판매자(ID, 주소, 도시, 판매자 이름, 국가) VALUES("6", "1번가", "로스앤젤레스", "해리 먼로", "미국")

열 이름의 순서를 변경할 수도 있지만 동시에 매개변수에서 값의 순서를 변경해야 합니다. 가치.

2. 일부 라인 추가

이전 예에서 연산자를 사용할 때 끼워 넣다테이블 열 이름을 명시적으로 표시했습니다. 이 구문을 사용하여 일부 열을 건너뛸 수 있습니다. 즉, 일부 열에는 값을 입력하지만 다른 열에는 값을 제공하지 않습니다. 예를 들어:

INSERT INTO 판매자(ID, 도시, Seller_name) VALUES("6", "로스앤젤레스", "해리 먼로")

이 예두 열에 대한 값을 지정하지 않았습니다. 주소그리고 국가. 명령문에서 일부 열을 제외할 수 있습니다. 에 집어 넣다, 테이블의 정의를 허용하는 경우. 이 경우 다음 조건 중 하나가 충족되어야 합니다. 이 열은 값을 허용하는 것으로 정의됩니다. 없는(값이 없음) 또는 테이블 정의에서 지정된 기본값. 즉, 값을 지정하지 않으면 기본값이 사용됩니다. 행에 값을 허용하지 않는 테이블의 열을 건너뛰는 경우 없는기본값이 정의되지 않은 경우 DBMS는 오류 메시지를 발행하고 이 행은 추가되지 않습니다.

3. 선택한 데이터 추가

이전 예에서는 쿼리에서 수동으로 데이터를 작성하여 테이블에 데이터를 삽입했습니다. 그러나 운영자 에 집어 넣다다른 테이블의 데이터를 삽입하려는 경우 이 프로세스를 자동화할 수 있습니다. 이를 위해 SQL에는 다음과 같은 구조가 있습니다. 삽입 ... 선택 .... 이 디자인을 사용하면 한 테이블에서 데이터를 동시에 선택하고 다른 테이블에 삽입할 수 있습니다. 다른 테이블이 있다고 가정해 보겠습니다. 판매자_EU유럽에 있는 상품 판매자 목록과 함께 일반 테이블에 추가해야 합니다. 판매자. 이 테이블의 구조는 동일하지만(열 수와 이름이 동일) 데이터는 다릅니다. 이를 위해 다음 쿼리를 작성할 수 있습니다.

INSERT INTO 판매자(ID, 주소, 도시, 판매자_이름, 국가) SELECTID, 주소, 도시, Seller_name, 국가 FROM Sellers_EU

내부 키의 값이 반복되지 않도록 주의해야 합니다(필드 ID), 그렇지 않으면 오류가 발생합니다. 운영자 고르다제안을 포함할 수도 있습니다. 어디데이터를 필터링합니다. 또한 DBMS는 명령문에 포함된 열의 이름에 주의를 기울이지 않습니다. 고르다, 배열의 순서만이 그녀에게 중요합니다. 따라서 선택한 첫 번째 지정된 열의 데이터는 고르다, 어쨌든 테이블의 첫 번째 열에 채워집니다. 판매자연산자 뒤에 지정 에 집어 넣다, 필드 이름에 관계없이.

4. 한 테이블에서 다른 테이블로 데이터 복사

종종 데이터베이스로 작업할 때 백업 또는 수정을 위해 테이블의 복사본을 생성해야 합니다. SQL에서 테이블의 전체 복사본을 만들기 위해 별도의 명령문이 제공됩니다. 선택. 예를 들어 테이블의 복사본을 만들어야 합니다. 판매자, 다음과 같이 요청을 작성해야 합니다.

SELECT * INTO Sellers_new FROM 판매자

기존 디자인과 달리 삽입 ... 선택 ...데이터가 기존 테이블에 추가되면 구성은 데이터를 새 테이블에 복사합니다. 또한 첫 번째 구성은 데이터를 가져오고 두 번째 구성은 내보낸다고 말할 수 있습니다. 구조를 사용할 때 선택 ... 안으로 ... 에서 ...다음 사항을 고려해야 합니다.

  • - 연산자의 모든 문장을 사용할 수 있습니다. 고르다, 와 같은 그룹화 기준그리고 가지고
  • - 조인은 여러 테이블의 데이터를 추가하는 데 사용할 수 있습니다.
  • - 데이터를 가져온 테이블 수에 관계없이 하나의 테이블에만 데이터를 추가할 수 있습니다.