一个简单的数据库问题

GritH2O 2008-11-27 08:21:46
现在需要把原来SQL Server下开发的东西转移成Oracle数据库
SQL Server 中的 *= 这个运算符 在Oracle数据库中应该怎么改啊

原来的SQl语句如下

select Employees.LastName ,Orders.OrderID
from Orders,Employees
where Orders.EmployeeID *= Employees.EmployeeID
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2009-08-21
  • 打赏
  • 举报
回复
*=表示左联接等于left join
marhment 2009-08-21
  • 打赏
  • 举报
回复
回答
cpio 2008-11-27
  • 打赏
  • 举报
回复
*=表示左联接,等于left join

其实这是不标准的写法:

在早期的 Microsoft® SQL Server™ 2000 版本中,使用 *= 和 =* 在 WHERE 子句中指定左、右外部联接条件。有时,该语法会导致有多种解释的不明确查询。FROM 子句中指定遵从 SQL-92 的外部联接,不会导致上述不确定性。因为 SQL-92 语法更为精确,所以,本版中未包括有关在 WHERE 子句中使用旧的 Transact-SQL 外部联接语法的详细信息。以后的 SQL Server 版本可能不再支持该语法。任何使用 Transact-SQL 外部联接的语句都应改为使用 SQL-92 语法。
y63964632 2008-11-27
  • 打赏
  • 举报
回复
楼主可以去查查俩中sql脚本语言的一些区别
没有用过oracle
caorenlong 2008-11-27
  • 打赏
  • 举报
回复
楼上果然是牛人,解决方法都不带汉字的:)顶一下
gomoku 2008-11-27
  • 打赏
  • 举报
回复
try this, but I can't remember *= is left join or right join :)


select Employees.LastName ,Orders.OrderID
from Orders left join Employees
on Orders.EmployeeID = Employees.EmployeeID

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧