SQL join小结

原来join=inner join,left/right/full join=left/right/full outer join。

 

join/inner join仅返回匹配的

 

left outer join返回左边每一项,右边不匹配的就null,right反之

 

full outer join返回左右的,顺序由上到下先是匹配的,不匹配的在后面,表达式写在前的(A full outer join B中的A)也在前,不匹配的为null

 

union必须有相同数量的列,并且列的数据类型要相似。默认取不同的值,先取A的第一条的第一列和B比,再取A的第二条第一列和B比。

 

要允许重复,则要加上all,加了all之后就是简单的把两个表叠加,先A后B。表达式写在前的(A union B中的A)也在前

 

cross join不加where的话,为笛卡尔积,就是(A cross join B)的A先全列出来,B取第一条,再A全取出来接B的第二条,一直取完。与","效果等同。

 

其它的join使用on代替where,cross join不能使用on,要再加where,效率很低

 

好像是这样,也可能有些错误,再多学习一下,以后感想就贴在这,作为自已学习的记录,可惜微博字数限制,不然放那挺好。源码还放百(和谐)度空间也行

posted @ 2014-07-08 23:31  腊肉蛋炒饭  阅读(111)  评论(0编辑  收藏  举报