CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2;
나는 인터넷 어딘가 에서이 진술을 읽었지만 WHERE 1=2
.
누구든지 설명해 주시겠습니까?
답변
이 유형의 명령은 일반적으로 한 테이블의 구조를 다른 테이블로 복사하는 데 사용됩니다. 이 경우은의 EMPL_DEMO
열 구조가 동일합니다 employees
. 키 또는 제한을 제외 .
은 1=2
항상로 평가 False
되는이 행 중 하나를 복사에서 당신을 방지 할 수 있습니다.
답변
CREATE TABLE
(새 테이블 만들기)
EMPL_DEMO
(EMPL_DEMO라고 함)
AS
(데이터 및 구조 포함)
SELECT * FROM employees WHERE 1=2;
(1 = 2 인 직원의 모든 것. 1은 2가 아니므로-구조와 일치하는 행 0 개 모두 복사)
.. 본질적으로 데이터가 아닌 구조를 복사합니다.
답변
이 구문은 동일하지만 데이터가없는 동일한 구조의 테이블을 만드는 것이 더 분명합니다.
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees limit 0;
답변
다음을 제외한 테이블의 구조를 복사하는 데 유용 할 수 있습니다. 제약 조건, 키, 인덱스, ID 속성 및 데이터 행을 .
이 쿼리는 조건이 항상로 평가되므로 EMPL_DEMO
직원 테이블에서 복사 된 행이없는 테이블을 만듭니다 .WHERE 1=2
FALSE
CREATE TABLE EMPL_DEMO
AS
SELECT *
FROM employees
WHERE 1=2;
답변
내 친구, Google을 신뢰하십시오. 해당 진술을 Google에 검색했을 때 첫 번째 결과의 하단에서 :
예를 들면 :
CREATE TABLE suppliers AS (SELECT * FROM companies WHERE 1=2);
이렇게하면 companies 테이블의 모든 열을 포함하지만 companies 테이블의 데이터는 포함하지 않는 supplier라는 새 테이블이 생성됩니다.
답변
신탁:
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2; //just structure not data
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=1; //ststructure and data
Teradata 데이터베이스에 대한 더 나은 이해 :
CREATE TABLE EMPL_DEMO AS Memployees with no data; //structure
CREATE TABLE EMPL_DEMO AS Memployees with data; //structure and data
답변
SQL Server에서
select * into table1 from table2 where 1 = 2 (Only Structure)
* 선택 *을 table2에서 table1로, 여기서 1 = 1 (데이터가있는 구조)