关于加入ORACLE

时间:2017-04-06 06:14:08

标签: sql oracle10g

FIRST TABLE

CREATE TABLE Persons (
    PersonID int PRIMARY KEY,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
); 

第二表

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

我发现这个问题

SELECT PERSONID ,ORDERNUMBER, LASTNAME  FROM PERSONS P, ORDERS 0  
   WHERE P.PERSONID =O.PERSONID;

IT显示错误

  

ORA-00933:SQL命令未正确结束

2 个答案:

答案 0 :(得分:1)

您将数字零定义为别名,但随后使用了资本O。在下面的查询中,我已经解决了别名问题,并且我还使用ON子句将隐式连接替换为显式连接。

SELECT
    pr.personid,
    od.ordernumber,
    pr.lastname
FROM persons pr
JOIN orders od
    ON (pr.personid = od.personid);

答案 1 :(得分:0)

SELECT PERSONID ,ORDERNUMBER, LASTNAME  FROM PERSONS P inner join ORDERS O  
  on P.PERSONID =O.PERSONID

试试这个,确保你最后没有使用语句终止符,因为oracle不使用终结符。