sqlserver两表查询关联 |
您所在的位置:网站首页 › sqlserver两个表关联更新 › sqlserver两表查询关联 |
一、表的关联 union 是将两个表合并为一,会除种 union all 是将两张表和二为一,不会除重 ![]() ![]() 二、表的联结 联结方式:cross join、inner join、left join、right join、full join ![]() 区别在于,如需要左边表的信息全显示就是left join,右边表全显示就是right join,两表共同的选取就是inner join,其他联结方式应用较少,以下为例子,可以看出同样的2张表,取不同的联结方式,结果也不同 ![]() ![]() ![]() 三、表联结练习 1.查询所有学生的学号、姓名、选课数、总成绩 分析注意:由于这里用到student表的所有信息,所以是左查询left join,并且一个学生选了多门课程,所以对学号分组 ![]() 2.查询平均成绩大于85的所有学生学号、姓名、平均成绩 分析注意:这个同样用到了student表的所有信息,所以用left join,学号分组,对分组后的选取用having语句,而不是where选取单行! ![]() 3.查询学生的选课情况:学号、姓名、课程号、课程名称 分析注意:这里通过表score做为中间联结,取共同部分,3个表通过使用2个inner join...on...语句实现 ![]() 四、case表达式 case 表达式用来进行多条件判断 case when...then...else...end ![]() 五、练习注意 这里由于每个队打比赛有主场和客场的区别,所以球员名字会重复,注意用到distinct ![]() 这里注意由于用到了group by,所以再用到order by的时候一定要有group by里的所有元素,缺一个都不行! ![]() |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |