爱问知识人 爱问教育 医院库

请问数据库编程什么情况下用左连接、右连接、交叉连接?

首页

请问数据库编程什么情况下用左连接、右连接、交叉连接?


        

提交回答
好评回答
  • 2006-09-05 17:16:12
      一、外连接1。概念:包括左向外联接、右向外联接或完整外部联接2。左连接:leftjoin或leftouterjoin(1)左向外联接的结果集包括LEFTOUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
      (2)sql语句select*fromtable1leftjointable2ontable1。id=table2。id-------------结果-------------idnameidscore------------------------------1lee1902zhang21004wangNULLNULL------------------------------注释:包含table1的所有子句,根据指定条件返回table2相应的字段,不符合的以null显示3。
      右连接:rightjoin或rightouterjoin(1)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。(2)sql语句select*fromtable1rightjointable2ontable1。
      id=table2。id-------------结果-------------idnameidscore------------------------------1lee1902zhang2100NULLNULL370------------------------------注释:包含table2的所有子句,根据指定条件返回table1相应的字段,不符合的以null显示4。
      完整外部联接:fulljoin或fullouterjoin(1)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。(2)sql语句select*fromtable1fulljointable2ontable1。
      id=table2。id-------------结果-------------idnameidscore------------------------------1lee1902zhang21004wangNULLNULLNULLNULL370------------------------------注释:返回左右连接的和(见上左、右连接)二、内连接1。
      概念:内联接是用比较运算符比较要联接列的值的联接2。内连接:join或innerjoin3。sql语句select*fromtable1jointable2ontable1。id=table2。id-------------结果-------------idnameidscore------------------------------1lee1902zhang2100------------------------------注释:只返回符合条件的table1和table2的列4。
      等价(与下列执行效果相同)A:selecta。*,b。*fromtable1a,table2bwherea。id=b。 *fromtable1crossjointable2wheretable1。id=table2。id(注:crossjoin后加条件只能用where,不能用on)三、交叉连接(完全)1。
      概念:没有WHERE子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(table1和table2交叉连接产生3*3=9条记录)2。交叉连接:crossjoin(不带条件where。。。)3。
      sql语句select*fromtable1crossjointable2-------------结果-------------idnameidscore------------------------------1lee1902zhang1904wang1901lee21002zhang21004wang21001lee3702zhang3704wang370------------------------------注释:返回3*3=9条记录,即笛卡尔积4。
      等价(与下列执行效果相同)A:select*fromtable1,table2。

    z***

    2006-09-05 17:16:12

类似问题

换一换
  • 其他编程语言 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):