sql – ANSI连接与“where子句”连接

我开发针对Oracle数据库.当我需要手动写入(不使用像Hibernate这样的ORM)时,我将join语句放在where子句中.

例如(这是简单的只是为了说明风格):

Select *
from customers c,invoices i,shipment_info si
where c.customer_id = i.customer_id
    and i.amount > 999.99 
    and i.invoice_id = si.invoice_id(+)  -- added to show how outer joins can be supported in this style
order by i.amount,c.name

我从OLD oracle DBA学到了这种风格.我已经知道这不是标准的sql语法.除了非标准,而且数据库便携式更少,使用这种格式有什么其他的影响?

谢谢,
松鸦

解决方法

有些人会说这种风格不太可读,但这是一个习惯问题.从性能的角度来看,这并不重要,因为查询优化器负责处理.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...