mySQL 学习 DAY10笔记

作者: Peng_001 | 来源:发表于2020-02-28 22:51 被阅读0次

    46 The EXISTS Operator

    • 找出所有具有invoice的client

    • 可以用 IN 实现

    1. 找出invoices 列表中的全部client
    2. 在clients 列表中的client与subquery中返回的client比对。(IN)
    SELECT *
    FROM clients
        WHERE client_id IN (
        SELECT DISTINCT client_id
        FROM invoices 
    )
    
    • 通过 EXIST 实现
    SELECT *
    FROM clients c
        WHERE EXISTS (
        SELECT client_id
        FROM invoices 
        WHERE client_id = c.client_id
    ) ## 每次有实现的数据就会返回,输出结果
    ## 一次遍历完成所有相等便会结束(相比会快很多)
    

    练习

    SELECT *
    FROM products p
    WHERE NOT EXISTS (
    SELECT product_id
    FROM order_items
    WHERE product_id = p.product_id
    )
    ## 挑选没有订单的产品
    

    ps: 还是mySQL 不劝退渣渣hhh

    相关文章

      网友评论

        本文标题:mySQL 学习 DAY10笔记

        本文链接:https://www.haomeiwen.com/subject/ypydhhtx.html