ANSI SQL-92 语法, ANSI SQL-89 语法

时间:2022-04-02 01:27:11

 

ANSI SQL-92 语法(内联接)

select e.empid,e.firstname,e.lastname,o.orderid

from employees e

join  orders o

on e.empid=o.empid

 

 

ANSI SQL-89 语法(交叉联接)

select e.empid,e.firstname,e.lastname,o.orderid

from employees e, orders o

//没有where、on语句是交叉联接,有where、on语句是内联结; 但现在无法是有意忘记写where、on, 还是无意忘记写where、on

 

 

ANSI SQL-92 语法(交叉联接)

select e.empid,e.firstname,e.lastname,o.orderid

from employees e

 cross join orders o

 

  如果使用ANSI SQL-89语句时,忘记指定联接条件,那么得到的查询仍然是有效的,但执行的是一个交叉查询,因为查询没有失败,所以可能一时无法发现语句中隐藏着的逻辑错误,最终导致用户在使用程序时得到的可能是错误的结果.