简单的问题:几个连接的区别。FROM/WHERE、 JOIN、 CROSS JOIN、 NATURAL JOIN

1
FROM table1,table2...
WHERE table1.column, join_operator table2.column

2
FROM table1 JOIN table2
ON table1.column join_operator table2.column

3
CROSS JOIN

4
NATURAL JOIN

分别在哪些情况下用哪个?谢谢!!

---------------------------------------------------------------

1、相当于内联接,选出两个表的符合条件的所有行
2、是内连接,省略了INNER
3、用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:

USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
ORDER BY au_lname
4。不懂:(

---------------------------------------------------------------

看ONLINE BOOK!!
里面很清楚呀!
---------------------------------------------------------------

agree with ToUpdate
Looking up the online book is a very good habit! :)
---------------------------------------------------------------

就是SQL200的联机丛书啊,就是那个帮助文件
---------------------------------------------------------------

就是帮助文件啊,应该各个数据库都有的。
natural join就是自然联接,查询的结果里只出现一列来代表用在联接条件中的两个联接兼容列。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus