易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL server 第三篇 多表联接查询

        多表联接查询
一、多表联接查询的分类
多表联接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征。
联接查询可分为三大类,分另为:
1.  内联接。
2.  外联接。
3.  交叉联接。
那么我们一起来看一下如何使用多表联接查询。
A.       内联接:内联接是最典型、最常用的联接查询,它根据表中共同的列来进行匹配,只有满足匹配的条件的数据才能被查询出来。通常,两个表存在主外键关系时会使用到内联接查询。
内联结常使用“=”比较运算符来判断两列数据是否相等,在这里我们通过几个实例来学习内联接查询。
a)        先在SQL Server 2005中新建两个表usersTable和usersNote,两表的内容如下面的图中所示。
 
 
 
 
 
表usersTable
 
表usersNote
 
 
b)        在建好相应的表后,我们就可以进行多表查询了,首先内联接我们有两种方式来查询。
第一种:直接在Where条件里通过表达式来进行表之间的关联。
 
select usersTable.myuser,usersTable.mypwd,
usersNote.useraddress,userphonenumber
--查询显示dbo.usersTable和dbo.usersNote表中的指定的内容
from dbo.usersTable,dbo.usersNote
--内联接两表
where usersTable.myuser=usersNote.username
--两表匹配的条件
 
在SQL 2005中的查询结果如下:
 
 
第二种:通过使用Inner Join关键字进行表之间的关联。
 
select usersTable.myuser,usersTable.mypwd,
usersNote.useraddress,userphonenumber
 
from dbo.usersTable inner join dbo.usersNote
on (usersTable.myuser=usersNote.username)
 
查询结果如下:
 
 
B.        外联接:外联接又可分为左外联接、右外联接、完整联接三种。
外联接与内联接区别在于,不仅显示两个表关联字段匹配的记录,同时不匹配记录根据外联接类型也会显示。
a)        左外联接:Left Join   或  Left Outer Join。
左外联接的结果集包括Left Join子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果


相关文档:

SQL Server中timestamp(时间戳)


SQL Servertimestamp数据类型与时间和日期无关。SQL Servertimestamp是二进制数字,它表明数据库中数据修改发生的相对顺序。实现timestamp数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是timest ......

SQL Server存储过程中raiserror的使用


一 系统预定义错误代码
SQL Server 有3831个预定义错误代码,由master.dbo.sysmessages表维护。每一个错误代码都有相应的级别和描述。
错误定义的级别从0到25。20以上的错误代表重大错误,通常意味着该错误会导致存储进程立刻终止,并且所有的客户连接都要重新初始化。
非关键性错误只是禁止掉当前运行的程序行,并继 ......

SQL Server示例查询

Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
  select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
  fr ......

转 SQL server 与Oracle开发比较

原文地址:http://www.cnblogs.com/wangxiaohuo/archive/2008/04/20/1162631.html
 
本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。
●概念上区别
   1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管
&nbs ......

【转】关于"递归树形查询SQL"的好帖

-----------------------------------------------------------------------------------------------------------------------
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values('001' , null  , '广东省')
insert into tb values('002' , '001' , '广州市')
insert i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号