MSSQLServer高级SQL语句:多表关联与外部连接解析
"高级SQL语句-sql语言学习课件2,涵盖了数据库基础和MSSQLServer的使用,由连通软件培训中心提供。课程重点讲解了高级SQL语句,包括多表关联,如对等关联和不对等关联,并通过实例展示了如何进行左关联和右关联。此外,还涉及到了具体的业务场景,如单位支出表和单位预算表的查询操作。" 在SQL语言的学习中,高级SQL语句是数据库查询和管理的重要部分。这里主要讨论的是多表关联,这是在处理复杂数据查询时经常会遇到的情况。关联可以分为对等关联和不对等关联。对等关联是指两个表中的对应字段相等,例如在示例中的`SELECT a.bh, b.xm FROM bmgl_bma, bmgl_ryxxb WHERE a.mc = b.mc;` 这个查询中,`bmgl_bma`表和`bmgl_ryxxb`表通过`mc`字段进行匹配。 不对等关联,也称为外部连接,允许一个表的数据在另一个表中没有对应的记录。在SQL中,左外部连接(LEFT OUTER JOIN)会返回所有左表的记录,即使在右表中没有匹配的记录,这些记录的右表字段将显示为NULL。例如:`SELECT * FROM table1, table2 WHERE table1.id *= table2.id;` 这是一个左外部连接的例子。相反,右外部连接(RIGHT OUTER JOIN)则是返回所有右表的记录,如果在左表中没有匹配的记录,左表的字段将显示为NULL。 课程中还给出了实际业务场景的例子,如单位支出表(bk_bkh)和收支科目信息表(wh_szkm)。在查询时,需要根据收支标志(bz)、科目名称(kml)、款编号(kmk)和项编号(kmx)等条件进行筛选。例如,要查询收支标志为支出(bz='1'),且款编号为特定值的记录,可以使用类似以下的查询语句: ```sql SELECT bk_bkh.dwbh, bk_bkh.dwmc, bk_bkh.l, wh_szkm_a.kmm, bk_bkh.k, wh_szkm_b.kmm, SUM(je) FROM bk_bkh, wh_szkm wh_szkm_a, wh_szkm wh_szkm_b WHERE (wh_szkm_a.kml = bk_bkh.l) AND (wh_szkm_a.bz = '1' AND wh_szkm_a.kmk = '00') AND (bk_bkh.k = wh_szkm_b.kmk AND bk_bkh.l = wh_szkm_b.kml) AND (wh_szkm_b.bz = '1' AND wh_szkm_b.kmx = '00') GROUP BY bk_bkh.dwbh, bk_bkh.dwmc, bk_bkh.l, wh_szkm_a.kmm, bk_bkh.k, wh_szkm_b.kmm; ``` 这个查询将单位支出表与收支科目信息表进行关联,按照单位编号(dwbh),单位名称(dwmc),类编号(l),科目名称(kmm),款编号(k),项编号(kmm)进行分组,并计算每个组的总支出金额(SUM(je))。 通过这些示例,学习者可以理解如何在实际业务环境中运用高级SQL语句来解决数据查询和分析的问题。这样的知识对于数据库管理员、数据分析师或者任何需要处理大量数据的职业来说都是至关重要的。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://profile-avatar.csdnimg.cn/f314b1a81b97400f839c4456aee96e83_weixin_42193786.jpg!1)
- 粉丝: 23
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)