欢迎来到天天文库
浏览记录
ID:51703098
大小:55.50 KB
页数:2页
时间:2020-03-15
《学习SQL多表连接(交叉连接).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学习SQL多表连接(11)交叉连接CROSSJOIN 〖作者:不详〗〖大小:2k〗〖发布日期:2010-06-03〗〖浏览:0〗交叉连接(CROSSJOIN)(下载例子中的表数据) 除了在FROM子句中使用逗号间隔连接的表外,SQL还支持另一种被称为交叉连接的操作,它们都返回被连接的两个表所有数据行的笛卡尔积,返回到的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。惟一的不同在于,交叉连接分开表名时,使用CROSSJOIN关键字而不是逗号。实际上,下面两个表达式
2、是完全等价的。SELECT*FROMtable1,table2SELECT*FROMtable1CROSSJOINtable2图给出了典型的交叉连接示意图。实例交叉连接STUDENT表和COURSE表交叉连接STUDENT表和COURSE表,查询所有同学的学号、姓名、课程代码、课程名称、考试时间和成绩信息。实例代码:SELECTSNO,SNAME,S.CNO,C.CNAME,CTEST,MARKFROMSTUDENTASSCROSSJOINCOURSEASCWHERES.CNO=C.CNOANDMA
3、RK>=60运行结果注意在使用CROSSJOIN关键字交叉连接表时,因为生成的是两个表的笛卡尔积,因而不能使用ON关键字,只能在WHERE子句中定义搜索条件。事实上,直接使用CROSSJOIN很少得到想要的结果,但是,正如实例所示,作为查询的第一步,DBMS通常在FROM子句中,对连接的表进行CROSSJOIN,然后过滤得到的中间表。
此文档下载收益归作者所有