【SQL】在SQL Server中多表关联查询问题
好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作。今天写了一个多表关联查询,想根据两个字段唯一确定一条数据
失败的案例如下:
SELECT cyb.id,ad.name
FROM [GeneShop].[dbo].[t_member_cyb] cyb ,[GeneShop].[dbo].xx_admin ad,[GeneShop].[dbo].t_bg bg
where cyb.hzjg_id = ad.id and cyb.id = bg.cyb_id
and
(cyb.cybbm = 402045 and bg.product_id = 121)
or(cyb.cybbm = 402070 and bg.product_id = 118)
查询出来的效果,简直不忍直视。

被改良后,使用join on 【inner join on】关联多表查询
select cyb.id, xa.name
from GeneShop.dbo.t_member_cyb cyb
join GeneShop.dbo.xx_admin xa on xa.id = cyb.hzjg_id
join GeneShop.dbo.t_bg bg on bg.cyb_id = cyb.id
where (cyb.cybbm=402045 and bg.product_id = 121) or (cyb.cybbm=402070 and bg.product_id = 118)

综上,其实
select 字段1,字段2 from 表1,表2 where 表1.字段 = 表2.字段 and 条件
select 字段1,字段2 from 表1 join 表2 on 表1.字段 = 表2.字段 where 条件
两个表这样关联查询是没有问题的。
但是多个表的话,可以看出来差距非常的大。
-----------------------------------------------------------------------------------------------割掉-----------------------------------------------------------------------------------------------
看来SQL得重新好好的温习温习,真是糊涂。
【SQL】在SQL Server中多表关联查询问题的更多相关文章
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- MyBatis 中两表关联查询MYSQL (14)
MyBatis 中两表关联查询MYSQL 1.创建数据库表语句 2.插入测试数据 3.pom文件内容 <?xml version="1.0" encoding="U ...
- 多个程序对sql server中的表进行查询和插入操作导致死锁
最近在做一个项目,是要用多个程序对sql server中的相同的数据库进行操作(查询和插入),所以在开始的时候常会出现死锁问题,后来在网上进行了咨询,发现了一些解决方法,留作大家参考: 并发去操纵一张 ...
- Yii2中多表关联查询(join、joinwith)
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name ...
- [moka同学笔记]Yii2中多表关联查询(join、joinwith) (摘录)
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name cu ...
- Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)(转)
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_ ...
- Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_ ...
- Yii2中多表关联查询(hasOne、hasMany、join、joinwith)
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id ...
- Yii2中多表关联查询(with、join、joinwith)
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name custome ...
随机推荐
- 第三节 MVC应用程序架构和测试
在查看如何测试单个功能之后,您可能会问,整个Web应用程序如何? 如前所述,有以下级别的测试: 单元测试 集成测试 功能测试 在开始编写测试时考虑这一点很重要. 可能还有其他类型的测试,但现在让我们关 ...
- 《大道至简》第一章 编程的精义 java伪代码形式
愚公.这位名家身上,浓缩了项目组织者.团队经理.编程人员.技术分析师等众多角色的优秀素质. 愚公移山事件分析: 原始需求:惩山北之塞,出入之迂 项目沟通方式:聚室而某曰 项目目标:毕力平险,指通豫南, ...
- 团队冲刺Alpha(十)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- C#程序怎么写,效率高
文章:改善C#程序,提高程序运行效率的50种方法 文章:编写高效率的C#代码
- 深入解析vue.js响应式原理与实现
vue.js响应式原理解析与实现.angularjs是通过脏检查来实现数据监测以及页面更新渲染.之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新渲染页面.vue.js ...
- gulp实时刷新页面
需要安装nodejs 全局安装gulp cnpm install -g gulp 局部安装 cnpm install -save-dev gulp 添加配置文件,新建gulpfile.js var g ...
- code forces 996BWorld Cup
B. World Cup time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
« CloudStack+XenServer详细部署方案(10):高级网络功能应用 (总结)CentOS Linux 5.x在GPT分区不能引导的解决方法 » 2013-1 11 (原创)Linux下 ...
- 关于String函数
1.常常忘记加string 头文件 2.size和length函数没有区别,length函数是为了增强可读性 3.substr函数 s.substr(a,b)表示从a开始后的b位 s.substr( ...
- roadhogrc.mock.js配置
1.roadhogrc.mock.js const fs=require('fs'); const path=require('path'); const mockPath=path.join(__d ...