Cross Joins 是交叉连接,联机帮助上有,那个C不知道
使用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers 
ORDER BY au_lname DESC结果集包含 184 行(authors 有 23 行,publishers 有 8 行;23 乘以 8 等于 184)。不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。例如,下面的 Transact-SQL 查询得到相同的结果集:USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers 
WHERE authors.city = publishers.city
ORDER BY au_lname DESC— 或
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors INNER JOIN publishers 
ON authors.city = publishers.city
ORDER BY au_lname DESC

解决方案 »

  1.   

    自连接就再连接一个自己
    table a join table b on ...
      

  2.   

    我问的不是这个意思
    比如Outer Joins包含Left Joins,Right Joins,Full Joins,那么Self-Joins是不是也隶属于他们其中的一个。
      

  3.   

    确切来说,没有Self-Joins这一概念当你写成 ... t a join t b on ... 时它就是inner join
    当你写成 ... t a left join t b on ... 时它就是outer join
    ...