亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

數據庫學習筆記——11使用子查詢

標簽:
MySQL

1 子查询

即嵌套在其他查询中的查询。MySQL从4.1版本才支持

2 利用子查询进行过滤

举例说明:列出订购物品 RGAN01 的所有顾客。

  • (1) 检索包含物品 RGAN01 的所有订单的编号。

  • (2)检索具有前一步骤列出的订单编号的所有顾客的ID。

  • (3)检索前一步骤返回的所有顾客ID的顾客信息。
    第一条:SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01';

    webp

    1.png


    第二条:SELECT cust_id FROM orders WHERE order_num IN (20007,20008);

    webp

    2.png


    结合这两个查询,把第一个查询变为子查询:
    SELECT cust_id FROM orders WHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01');

    webp

    1+2.png


    在SELECT语句中,子查询总是从内向外处理。
    第三条:SELECT cust_name,cust_contact FROM customers WHERE cust_id IN ( SELECT cust_id FROM orders WHERE order_num IN ( SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01'));

    webp

    3.png

注意:作为子查询的SELECT语句只能查询单个列。

3 作为计算字段使用子查询

举例说明:列出Customers表中每个顾客的订单总数。
SELECT cust_name,cust_state,(SELECT COUNT(*) FROM orders WHERE orders.cust_id=customers.cust_id) AS orsers FROM customers ORDER BY cust_name

webp

4.png



作者:Love零O
链接:https://www.jianshu.com/p/7c7c9b2fbc72


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消