Зачем использовать "where 1 = 2" в синтаксисе SQL CREATE TABLE?

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

Я читал это утверждение где-то в Интернете, но я не мог понять WHERE 1=2.

Кто угодно, объясните это?

Ответ 1

Этот тип команды обычно используется для копирования структуры одной таблицы в другую. В этом случае EMPL_DEMO будет иметь ту же структуру столбцов employees, , за исключением ключей или ограничений.

1=2 всегда оценивает значение False, что предотвращает копирование любой из строк.

Ответ 2

CREATE TABLE (Создать новую таблицу)

EMPL_DEMO (Вызывается EMPL_DEMO)

AS (С данными и структурой)

SELECT * FROM employees WHERE 1=2; (Все в сотрудниках, где 1 = 2. Поскольку 1 никогда не является 2 - скопируйте структуру и все 0 соответствующих строк)

.. По существу копировать структуру, а не данные.

Ответ 3

Этот синтаксис делает то же самое, но это более очевидно, он создает таблицу с той же структурой, без данных.

CREATE TABLE EMPL_DEMO AS SELECT * FROM employees limit 0;

Ответ 4

Это может быть полезно для копирования структуры таблицы исключая ее ограничения, ключи, индексы, свойство идентификации и строки данных.

Этот запрос создаст таблицу EMPL_DEMO без строк, скопированных из таблицы employee, поскольку условие WHERE 1=2 всегда будет оцениваться как FALSE.

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

Ответ 5

Доверяйте Google, мой друг. В нижней части первого результата, когда вы указали эту инструкцию:

Например:

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

Это создаст новую таблицу, называемую поставщиками, которая включает все столбцы из таблицы компаний, но нет данных от компаний таблица.

Ответ 6

Oracle:

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