الكلمات والمخططات المحجوزة
ينطبق على: Databricks SQL Databricks Runtime
الكلمات المحجوزة هي قيم حرفية تستخدم ككلمات أساسية بواسطة لغة SQL والتي لا يجب استخدامها كمعرفات لتجنب السلوك غير المتوقع.
أسماء المخططات المحجوزة لها معنى خاص ل Azure Databricks.
كلمات محجوزة
لا لا تسمح Azure Databricks رسميا باستخدام أي قيم حرفية محددة كمعرفات.
ومع ذلك، لاستخدام أي من قائمة المعرفات التالية كاسم مستعار للجدول، يجب إحاطة الاسم بعلامات التجزئة الخلفية (').
- مضاد
- عبر
- EXCEPT
- كامل
- INNER
- INTERSECT
- انضمام
- جانبي
- LEFT
- ناقص
- طبيعي
- تشغيل
- RIGHT
- شبه
- UNION
- استخدام
كلمات خاصة في التعبيرات
يمكن استخدام القائمة التالية من المعرفات في أي مكان، ولكن Azure Databricks يعاملها بشكل تفضيلي ككلمات أساسية داخل التعبيرات في سياقات معينة:
NULL
قيمة SQL
NULL
.DEFAULT
يشير إلى عمود افتراضي.
TRUE
القيمة المنطقية
true
SQL.FALSE
القيمة المنطقية
false
SQL.LATERAL
يستخدم كمحدد عمود للإشارة إلى الارتباط الجانبي الصريح.
استخدم علامات التجزئة الخلفية (NULL
و DEFAULT
) أو قم بتأهيل أسماء الأعمدة باسم جدول أو اسم مستعار.
يستخدم Azure Databricks البادئة CURRENT_
للإشارة إلى بعض إعدادات التكوين أو متغيرات السياق الأخرى.
بادئة الشريط السفلي (_
) مخصصة لأعمدة Azure Databricks الزائفة.
في Databricks Runtime، العمود الزائف الموجود هو العمود _metadata.
لا يتم التعامل مع المعرفات ذات هذه البادئات بشكل تفضيلي. ومع ذلك، تجنب الأعمدة أو الأسماء المستعارة للأعمدة باستخدام هذه البادئات لتجنب السلوك غير المتوقع.
أسماء الكتالوجات المحجوزة
تحتفظ Azure Databricks بالقائمة التالية لأسماء الكتالوجات للاستخدام الحالي أو المستقبلي:
- أسماء الكتالوجات التي تبدأ ب
SYS
- أسماء الكتالوجات التي تبدأ ب
DATABRICKS
تجنب استخدام هذه الأسماء.
أسماء المخططات المحجوزة
تحتفظ Azure Databricks بقائمة أسماء المخططات التالية للاستخدام الحالي أو المستقبلي:
BUILTIN
الاستخدام المستقبلي لتأهيل الوظائف المضمنة.
SESSION
الاستخدام المستقبلي لتأهيل طرق العرض والوظائف المؤقتة.
INFORMATION_SCHEMA
يحتفظ بمخطط معلومات SQL Standard.
أسماء المخططات التي تبدأ ب
SYS
أوDATABRICKS
تجنب استخدام هذه الأسماء.
كلمات ANSI المحجوزة
لا يفرض Azure Databricks كلمات ANSI المحجوزة. يتم توفير القائمة التالية من الكلمات الأساسية SQL2016 لأغراض إعلامية فقط.
A
الكل، ALTER، و، ANY، ARRAY، AS، AT، AUTHORIZATION
B
BETWEEN, BOTH, BY
C
CASE، CAST، CHECK، COLLATE، COLUMN، COMMIT، CONSTRAINT، CREATE، CROSS، CUBE، CURRENT، CURRENT_DATE، CURRENT_TIME، CURRENT_TIMESTAMP، CURRENT_USER
D
حذف، وصف، مميز، إسقاط
E
ELSE، END، ESCAPE، EXCEPT، EXISTS، EXTERNAL، EXTRACT
F
FALSE، FETCH، FILTER، FOR، FOREIGN، FROM، FULL، FUNCTION
G
عمومي، منح، مجموعة، تجميع
H
HAVING
أنا
IN، INNER، INSERT، INTERSECT، INTERVAL، INTO، IS
J
انضمام
L
بادئة، يسار، مثل، محلي
N
طبيعي، لا، لا، خال
O
من، تشغيل، فقط، أو، ترتيب، خارج، خارجي، يتداخل
P
PARTITION, POSITION, PRIMARY
R
النطاق والمراجع والإبطال واليمين والتراجع والمجموعة والصف والصفوف
S
حدد، SESSION_USER، تعيين، بعض، بدء
T
TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
U
UNION، UNIQUE، UNKNOWN، UPDATE، USER، USING
V
القيم
W
متى، أين، النافذة، مع
الأمثلة
-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));
> SELECT where from FROM where select;
1
-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
NULL 1 1
-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
FROM VALUES(1) AS T(current_date);
2021-10-23 1 2021-10-23
-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'
> SELECT * FROM VALUES(1) AS `ANTI`;
1