pzzrudlf
V2EX  ›  数据库

求大神解释这句 SQL 的作用

  •  
  •   pzzrudlf · May 29, 2015 · 2947 views
    This topic created in 4010 days ago, the information mentioned may be changed or developed.

    select * from users u left join orders o on u.id=o.uid and u.username='范冰冰'

    34 replies    2015-05-30 00:16:47 +08:00
    kechx
        1
    kechx  
       May 29, 2015
    又不是什么复杂的东西,看下手册,搜下就能解决的何必要跑来这里“求大神”?被喂饭的感觉很好吗?不劳而获的感觉很好吗?
    b821025551b
        2
    b821025551b  
       May 29, 2015
    这个是基础吧。。。
    CinderellaCiCi
        3
    CinderellaCiCi  
       May 29, 2015
    两个表,users 和 orders ,别名分别是u和o ,通过条件u.username='范冰冰' 筛选出u表结果,然后右侧并上相应符合条件u.id=o.uid的o表结果。

    自己试下就知道了呀。
    zzxworld
        4
    zzxworld  
       May 29, 2015
    嗯,应该是查找范爷在哪几家酒店开过房。
    CinderellaCiCi
        5
    CinderellaCiCi  
       May 29, 2015
    说错了,u表还是两个条件筛选的,除非o表和u表的id完全一致
    ca1n
        6
    ca1n  
       May 29, 2015
    你这个...还是多百度 很简单的问题
    CuminLo
        7
    CuminLo  
       May 29, 2015
    汗,我这个SQL渣渣都能看得懂。
    heaton_nobu
        8
    heaton_nobu  
       May 29, 2015
    查询所有用户名为“范冰冰”的用户与订单数据,包括没有下订单的用户
    iam36
        9
    iam36  
       May 29, 2015
    从表u中查询范冰冰的姓名和ID ,关联表o中所有此ID的order记录

    这句话在MSSQL是无法通过语法检查的,因为输出字段有重复,缺少明确指定。其他系统不了解
    herojaxy
        10
    herojaxy  
       May 29, 2015
    你们啊,都没GET到楼主的点
    popok
        11
    popok  
       May 29, 2015
    @herojaxy 23333333333333
    Tiande
        12
    Tiande  
    PRO
       May 29, 2015
    @herojaxy ( •̀ ω •́ )✧ 所以是不是还可以加点条件
    select * from users u left join orders o on u.id=o.uid and u.username like '范冰冰,李晨'
    Tiande
        13
    Tiande  
    PRO
       May 29, 2015
    @herojaxy 啊 应该是
    u.username in '范冰冰,李晨'
    b821025551b
        14
    b821025551b  
       May 29, 2015
    @dtdnqsb 目测还没改对→_→
    Tiande
        15
    Tiande  
    PRO
       May 29, 2015
    @b821025551b _(:3」∠)_ 我 sql 学的不好,你不要骗我。
    RIcter
        16
    RIcter  
       May 29, 2015   ❤️ 1
    u.username in ('范冰冰','李晨')
    RIcter
        17
    RIcter  
       May 29, 2015
    @dtdnqsb #16
    wwek
        18
    wwek  
       May 29, 2015
    这是数据挖掘,深挖八卦`
    CuminLo
        19
    CuminLo  
       May 29, 2015
    @herojaxy 啊?是什么啊
    Tiande
        20
    Tiande  
    PRO
       May 29, 2015
    @RIcter
    ((( ;゚Д゚))) 看来果然离不开 SQL Server Management Studio 啊
    qianfei7f
        21
    qianfei7f  
       May 29, 2015
    楼主其实想问的是 “范冰冰”干了什么,而不是语句怎么样?
    anyforever
        22
    anyforever  
       May 29, 2015
    你是想在百度里find范爷干了嘛吗?
    yfl168648
        23
    yfl168648  
       May 29, 2015
    难道你拿到携程数据库了???
    swjtutipo
        24
    swjtutipo  
       May 29, 2015
    楼主怎么拿到携程数据库的
    xuyifei
        25
    xuyifei  
       May 29, 2015
    楼主查到范爷的记录了???
    langhua9527
        26
    langhua9527  
       May 29, 2015
    范冰冰也用携程吗
    bin456789
        27
    bin456789  
       May 29, 2015
    难道只有我觉得查询有无?
    应该是select * from users u left join orders o on u.id=o.uid WHERE u.username='范冰冰'
    EchosKK
        28
    EchosKK  
       May 29, 2015
    @bin456789 AND更好啊,AND是过滤之后再连接
    huobazi
        29
    huobazi  
       May 29, 2015
    这么写

    select u.username, count(1) as c from users u left join orders o on u.id=o.uid WHERE u.username in '范冰冰, 李晨'
    group by u.username
    order by c desc
    idblife
        30
    idblife  
       May 29, 2015
    请先复习sql基础。。。
    cysnap
        31
    cysnap  
       May 29, 2015
    这个得看具体的数据吧,把整个数据库发出来,我帮你解读一下这个是什么意思。

    肯定能比楼上的解读得精彩吧。
    qnsh
        32
    qnsh  
       May 29, 2015
    @herojaxy 这不是充气娃娃卖家查询已下单款式为“范冰冰”的订单吗?
    bin456789
        33
    bin456789  
       May 29, 2015
    @EchosKK 这里的 and 是用作连接条件的。
    http://p2.lxd.cc/uploads/2015/05/1(1).jpg
    hack520
        34
    hack520  
       May 30, 2015 via iPhone
    楼猪的意思是他有裤子
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1388 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 108ms · UTC 17:12 · PVG 01:12 · LAX 10:12 · JFK 13:12
    ♥ Do have faith in what you're doing.