• 【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得重新好好的温习温习,真是糊涂。

  • 相关阅读:
    python3图片转化成字符画
    ubuntu 18.04安装PIL(Python Imaging Library )
    Ubuntu 18.04安装钉钉
    django 使用iframe跨域请求
    django 自定义日志字段
    Ubuntu18.04下安装搜狗输入法(亲测有效)
    Nginx 配置指令手册
    js闭包Demo
    自己写了一个无缝滚动的插件(jQuery)
    写JQuery 插件 什么?你还不会写JQuery 插件
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/7443197.html
Copyright © 2020-2023  润新知