700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > sql中多表连接查询——自连接

sql中多表连接查询——自连接

时间:2019-08-21 21:35:14

相关推荐

sql中多表连接查询——自连接

多表连接的方法主要有左连接(left join)、右连接(left join)、内连接(inner join)和完全连接(full join),除此之外还有一种在同一个表中连接的方式,自连接。

自连接主要用于表中其他数据和某一数据进行比较,这种时候可以将表做两个复本,通过复本之间的比较找到需要的值。

下面举例说明一下自连接使用场景:

现在有一张表student,我们需要在student中 查询比“刘明明”年龄更大的同学

select b.*from student a,student bwhere a.Birthdate>b.Birthdateand a.SName ='刘明明'

select b.*主要用于显示b表的全部内容

from student a,student b 表示数据来源于student表并起名为a和b。这里可以理解为 有两张和student一模一样的表a,b。我们要查询的数据来源于这两张表。

where a.Birthdate>b.Birthdate and a.SName ='刘明明'

表示当a的sname为刘明明时,选择b的Birthdate 小于a的Birthdate 的数据。这里Birthdate 为date型,直接比较是更新的日期更大,也就是2001年1月1日 大于2000年1月 1日。所以要 筛选出比刘明明年龄大的 即为Birthdate 小于刘明明Birthdate 的数据。

执行结果如下:

再比如,采用自连接的方法,在student表中查询和“刘明明”一个学院的学生

where a.Dept=b.Dept and a.SName='刘明明'

以上都是将a表当做查询的对象,b表当做被查询的对象,在b表中筛选出合适的数据然后显示出来。如果需要显示a表的内容,在select处修改即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。