【发布时间】:2014-02-04 08:54:11
【问题描述】:
我正在尝试在 Oracle SQL Developer 中执行此查询:
SELECT G.Guest_ID, G.First_Name, G.Last_Name
FROM Guest AS G
JOIN Stay AS S ON G.Guest_ID = S.Guest_ID
WHERE G.City = 'Miami' AND S.Room = '222';
但是,我收到以下错误:
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 2 Column: 12
我在第 2 行中没有看到任何问题,并且错误描述性不是很强。它似乎与 as 关键字有关。如果我删除它,它工作正常。但是,我希望我的查询非常冗长。因此,我必须想办法在不删除as 关键字的情况下解决任何问题。
这是所涉及的表的结构:
CREATE TABLE GUEST
(
GUEST_ID NUMBER NOT NULL,
LAST_NAME VARCHAR2(50 BYTE),
FIRST_NAME VARCHAR2(50 BYTE),
CITY VARCHAR2(50 BYTE),
LOYALTY_NUMBER VARCHAR2(10 BYTE)
);
CREATE TABLE STAY
(
STAY_ID NUMBER NOT NULL,
GUEST_ID NUMBER NOT NULL,
HOTEL_ID NUMBER NOT NULL,
START_DATE DATE,
NUMBER_DAYS NUMBER,
ROOM VARCHAR2(10 BYTE)
);
提前感谢您的帮助。
【问题讨论】:
-
您可能来自 SQL Server 的经验。与 SQL Server 不同,在 Oracle SQL 中,要给表起别名,您只需要像 @dystroy 回答的那样使用别名。
-
@justCallMeBiru 在大多数系统中,您可以使用
AS,但它是可选的。 -
对表别名使用
AS关键字不是 ANSI SQL 标准。
标签: sql oracle table-alias