<> 学习笔记(1)

最近买了几本SQL2005的书, 看到书中有些比较经典的问题列记出来, 方便日后工作查找。
这本书是<<SQL Server 2005 高级程序设计>> 美国:Robert Vieira著, 董明等译。一本十分基础的书。

   Inner join, left join, right jion的区别

   表A 表B 通达UserID关联。

   Inner join: A.UserID=B.UserID 取得满足二个表都有相同的UserID的记录

   left join: A.UserID=B.UserID 取得满足表A中UserID的记录, 也就是等号左边的表A中UserID的记录, 在表B中找不到的内容用null来代替
 
   right join: A.UserID=B.UserID 取得满足表B中UserID的记录, 也就是等号右边的表B中UserID的记录,在表A中找不到的内容用null来代替

  

 All Any Some的区别

   All:要满足所有记录
   Some, Any: 满足任一个就可以

   表A中有UserID三个记录,UserID分别为3 9 13
  
   以5为条件为例:
   select * from dbo.A where 5>all(select id from A) 因为UserID里面有3, 所以有一个没满足大于5, 所以结果是false
   select * from dbo.A where 5>any(select id from A) 因为UserID里面有9 13 , 所以有一个大于5, 所以结果是true

你可能感兴趣的:(sql server 2005)