que - sql server




Por que usar "onde 1=2" em uma sintaxe SQL CREATE TABLE? (5)

Confie no Google, meu amigo. Da parte inferior do primeiro resultado, quando você usa essa declaração no Google :

Por exemplo:

CREATE TABLE suppliers
  AS (SELECT *
    FROM companies WHERE 1=2);

Isso criaria uma nova tabela chamada fornecedores que incluía todas as colunas da tabela de empresas, mas nenhum dado da tabela de empresas.

CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2;

Eu li essa declaração em algum lugar na internet, mas não consegui entender o WHERE 1=2 .

Alguém por favor, explique isso?


Essa sintaxe faz o mesmo, mas é mais óbvio, cria uma tabela com a mesma estrutura, sem dados.

CREATE TABLE EMPL_DEMO AS SELECT * FROM employees limit 0;

Isso pode ser útil para copiar a estrutura de uma tabela, excluindo suas restrições, chaves, índices, propriedade de identidade e linhas de dados.

Essa consulta criará a tabela EMPL_DEMO sem nenhuma linha copiada da tabela employees, pois a condição WHERE 1=2 sempre será avaliada como FALSE .

  CREATE TABLE EMPL_DEMO 
  AS 
  SELECT * 
  FROM employees 
  WHERE 1=2;

No SQL Server

selecione * em table1 de table2 onde 1 = 2 (Only Structure)

selecione * na tabela 1 da tabela 2, onde 1 = 1 (estrutura com dados)


Oráculo:

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

Melhor compreensão no banco de dados Teradata:

CREATE TABLE EMPL_DEMO AS Memployees with no data; //structure

CREATE TABLE EMPL_DEMO AS Memployees with data; //structure and data






sql