2015-04-20 2 views
1

Я не совсем понимаю разницу между, например:[таблица]. [Field] vs table.field разница?

SELECT [Products].[ID], [Products].[ProductName] FROM Products ORDER BY [ProductName]; 

по сравнению с

SELECT Products.ID, Products.ProductName FROM Products ORDER BY ProductName; 

Может кто-то дать мне некоторое представление, пожалуйста? Запрос дает мне такой же результат.

+0

[] - это способ Microsoft для идентификаторов с разделителями. (Можно зарезервировать слова или содержать нечетные символы как%,! И пробел.) – jarlh

+0

Я вижу, что, пока я сохраняю имена tbl/field без пробелов и специальных харарейсов, я должен быть в порядке, не используя []? Что лучше? Использовать [] везде или только при необходимости? – emihir0

+0

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

ответ

3

В языке программирования имя переменной должно быть уникальным во всем его контексте и не может иметь Пробелы.

VariableA is valid 
variable b is not valid 
variable_b is valid 

Некоторые языки даже чувствительны к регистру.

variableA is valid 
VariableA is valid and different from variableA 

С другой стороны MS ACCESS позволяет бесплатно отформатированные имена для нее таблицы, запросы, формы и т.д. Это означает, что вы могли бы иметь таблицу с именем

This is a fruit table 

, чтобы определить «это плод стол» поскольку одно слово/элемент Access каким-то образом нужно оценить/знать, что имя переменной - это одно слово или его имя переменной, а не текст. Поэтому Access использует [] для инкапсуляции слова, чтобы он мог оценить его содержимое.

Если вы следуете наиболее желательному стилю кодирования, вы должны назвать свои таблицы префиксом, таким как tbl_fruits, frm_fruits, qry_view_fruits, который поможет вам, а также Access понять, что вы имеете в виду.

+0

Большое спасибо за объяснение, я понимаю сейчас. – emihir0

1

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

Но вам нужно всего лишь скопировать скобки на них, но можете применить его на всех, если хотите.