В SQL, какова буква после имени таблицы в избранном операторе?

Может быть, вам интересно сначала прочитать эту статью http://mwop.net/blog/2012-08-17-on-microframeworks.html

В любом случае существует Silex - это микро-фреймворк, основанный на Symfony 2 Framework. Silex разрабатывается и поддерживается теми же людьми Symfony 2

5
задан Binary Worrier 15 June 2009 в 16:03
поделиться

9 ответов

a - псевдоним для таблицы ADMIN

Псевдоним SQL

28
ответ дан 18 December 2019 в 05:26
поделиться

В основе лежит концепция «переменной диапазона».

Крис Дейт и Хью Дарвен считают и разговорный термин «псевдоним», и термин «корреляционное имя» в стандарте SQL как «неуместное» и «серьезно [искажающее] истинное положение дел».

Хью Дарвен, « SQL: сравнительный обзор »:

Возможно, вы выучил другой термин для переменной диапазона, который использовал Кодд в его ранние работы, но не были приняты стандартом SQL до 2003 года. в некоторых текстах SQL он называется псевдонимом, но это совсем не подходит, на самом деле, потому что это означало бы, что это имя таблицы и, следовательно, обозначает таблицу, а не строку. Стандарт SQL использует одинаково неуместное название корреляции термина (не обозначает корреляцию, что бы это ни было), но только для случая, когда имя явно задано (через AS в примере), а не для случая, когда простое имя таблицы дублируется как имя переменной диапазона. В SQL: 2003 переменная диапазона была принята как удобный единственный термин для охвата более общий случай.

CJ Date, «SQL и реляционная теория: как написать точный код SQL» :

переменная диапазона в реляционной модели - это переменная, которая над "набором строк в некоторой таблице (или набором кортежей в некоторой отношение, если быть более точным). В SQL такие переменные определяются как средства спецификации AS в контексте либо FROM , либо JOIN , как в следующем примере:

 SELECT SX.SNO 
ОТ S AS SX 
ГДЕ SX.STATUS> 15

SX здесь переменная диапазона, которая выходит за пределы таблицы S ; в других слов, его допустимые значения - строки таблицы S . Вы можете думать о выражение SELECT в целом оценивается следующим образом. Первый, переменная диапазона принимает одно из допустимых значений, скажем, строку для поставщика SNO = 'S1' . Значение статуса в этой строке больше чем 15? Если это так, то в результате появится номер поставщика «S1» . Затем переменная диапазона перемещается в другую строку таблицы S , например строка для поставщика SNO = 'S2' ; опять же, если значение статуса в этой строке больше 15, то соответствующий номер поставщика появляется в результат. И так далее

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

Предостережение: многие тексты SQL относиться к именам переменных диапазона (или именам корреляции) как к псевдонимам , и описывать их, как если бы они были просто альтернативными именами для таблиц они варьируются. Но такая характеристика серьезно искажает истинное положение дел - действительно, оно выдает серьезное отсутствие понимание того, что происходит на самом деле, и категорически не рекомендуется


Интересно, что LINQ правильно распознает переменные диапазона, например

enter image description here

3
ответ дан 18 December 2019 в 05:26
поделиться

Псевдоним для таблицы ADMIN. Здесь нет необходимости, потому что в вашем запросе есть только одна таблица.

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

Select ADMIN.Name, person.name from ADMIN, person where person.id = admin.id

Чтобы сделать это короче, добавьте псевдонимы для имен таблиц.

select a.Name, p.Name from ADMIN a, person p where person.id = admin.id
2
ответ дан 18 December 2019 в 05:26
поделиться

A - это псевдоним для таблицы.

Вы можете изменить a на любой допустимый идентификатор, он не зависит от базовой схемы. Обычно он используется для различения полей из разных таблиц, избавляет от необходимости каждый раз вводить полное имя таблицы (упрощает чтение SQL с коротким псевдонимом).

На самом деле это не требуется в приведенном вами примере,

SELECT NAME, NUMBER, STRING, RDB$DB_KEY FROM AMDIN

тоже должно работать

1
ответ дан 18 December 2019 в 05:26
поделиться

A - сокращенное обозначение (термин: псевдоним ) для таблицы ADMIN

0
ответ дан 18 December 2019 в 05:26
поделиться

Запрос использует подобное, чтобы вам не нужно было писать ADMIN.NAME, ADMIN.NUMBER и т. Д. И т. Д. Если у вас есть пятнадцать полей в вашей таблице, а ваша таблица имеет такое имя, как VPCPDEEE, очень утомительно набирать одно и то же имя таблицы снова и снова.

1
ответ дан 18 December 2019 в 05:26
поделиться

a - это то, что называется псевдонимом таблицы. В части запроса, которая говорит:

FROM ADMIN a

Поместив "a" после имени таблицы, вы создали псевдоним, который теперь можно использовать вместо имени таблицы. Без псевдонима вам нужно будет использовать полное имя таблицы, чтобы полностью определить имена столбцов, на которые вы ссылаетесь в запросе.

Без псевдонима таблицы ваш запрос будет выглядеть следующим образом:

SELECT ADMIN.NAME, ADMIN.NUMBER, ADMIN.STRING, ADMIN.RDB$DB_KEY FROM ADMIN

Хотя, поскольку вы выбираете только столбцы из одной таблицы, имя (или псевдоним) таблицы в этом примере фактически не требуется.

1
ответ дан 18 December 2019 в 05:26
поделиться

a = ADMIN

Эквивалент:

SELECT ADMIN.NAME, ADMIN.NUMBER, ADMIN.STRING, ADMIN.RDB$DB_KEY FROM ADMIN
0
ответ дан 18 December 2019 в 05:26
поделиться

a используется в качестве псевдонима для таблицы ADMIN.

Когда правильно использовать псевдоним и в какой форме этот псевдоним должен принимать, может вызвать некоторые твердые мнения авторов sql.

Вот пара вопросов о переполнении стека по этой теме.

Когда использовать псевдоним таблиц SQL

Псевдонимы таблиц SQL - хорошо или плохо?

0
ответ дан 18 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: