博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【SQL】在SQL Server中多表关联查询问题
阅读量:7055 次
发布时间:2019-06-28

本文共 1008 字,大约阅读时间需要 3 分钟。

好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作。今天写了一个多表关联查询,想根据两个字段唯一确定一条数据

 

失败的案例如下:

SELECT cyb.id,ad.name FROM [GeneShop].[dbo].[t_member_cyb] cyb ,[GeneShop].[dbo].xx_admin ad,[GeneShop].[dbo].t_bg bgwhere 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得重新好好的温习温习,真是糊涂。

转载地址:http://ssmol.baihongyu.com/

你可能感兴趣的文章
成人高考科目
查看>>
动态域名搭建exchang邮箱服务器
查看>>
Jquery实现新闻上下滚动效果
查看>>
CGI?
查看>>
使用postMessage实现跨窗口消息传递
查看>>
VIM跳转和小改动
查看>>
svn 常用指令 及 常见问题记录
查看>>
修改全志A10, A20的Nand分区大小
查看>>
python class和class(object)用法区别
查看>>
ejs标签
查看>>
我的友情链接
查看>>
Linux/Unix批量处理产生
查看>>
XFS和RAID6性能优化
查看>>
corosync+pacemaker 实现高可用集群(三)
查看>>
linux下的java开发环境
查看>>
Bootstrap使用记录
查看>>
从一场场大型网站灾难过后的BUG:根
查看>>
Linux系统下怎样利用nc命令来监控检测服务器的端口使用情况
查看>>
git命令总结
查看>>
tomcat高访问jvm配置
查看>>