SQL-92 Выбор с помощью оператора точки - PullRequest
0 голосов
/ 28 марта 2019

Прежде чем он будет помечен как дубликат, я не спрашиваю, нужно ли мне указывать его полностью, поэтому мне не важно, указан ли он.Надеюсь, это прояснит это.Теперь к вопросу.

Я новичок в SQL, поэтому я не уверен, есть ли какой-то технический термин для этого.

Скажем, у меня есть база данных с таблицами: Заказы и Клиенты.

У заказов есть категории: OrderID, CustomerID и OrderDate

У клиентов есть категории: CustomerID, CustomerName, ContactName и Страна

У меня тогда есть SQL-запрос:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

Итак, я выбираю таблицу Orders.OrderID, Customers.CustomerName и Orders.OrderDate FROM Orders.Если это из таблицы «Заказы», ​​зачем указывать Orders. перед OrderID и OrderDate в выборе ? Это пример с веб-сайта, который не объясняет этого.Я не уверен, имеет ли это отношение к объединению (что в примере), поэтому я также поместил его туда и в тегах.

-Спасибо

1 Ответ

1 голос
/ 28 марта 2019

Иногда имя поля находится в обеих таблицах, и ваша СУБД выдаст ошибку, что поле неоднозначно.Обычно рекомендуется явно объявить, из какой таблицы вы хотите получить элемент.

Использование псевдонима часто облегчает чтение и запись кода:

SELECT ord.OrderID, cus.CustomerName, ord.OrderDate
FROM Orders ord
INNER JOIN Customers cus ON ord.CustomerID=cus.CustomerID;

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

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

...