程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql-為什麼圖中的SQL代碼,from裡面不用填其中一個來源表呢?

sql-為什麼圖中的SQL代碼,from裡面不用填其中一個來源表呢?

編輯:編程綜合問答
為什麼圖中的SQL代碼,from裡面不用填其中一個來源表呢?

為什麼圖中的代碼,
子查詢裡面的from只有orders這個表沒有customers這個表呢?

圖片說明

我覺得括號裡面from應該有customers,是因為我覺得SQL會先運行括號裡面的內容.但實際順序是怎樣的呢?

最佳回答:


你這是SELECT裡面的子查詢,表示用customers.cust_id到orders裡面去查找相關的訂單數量
並且這時候的子查詢每次SELECT只能是出一個值,不允許在select中的子查詢查找出多個值,或者多列值。
改寫為JOIN相當於:

SELECT  c.cust\_name,
             c.cust\_state,
                         o.order_cn AS orders
  FROM customers c
    LEFT JOIN (SELECT COUNT(*) AS order_cn,cust_id  
                            FROM orders) o
            ON c.cust_id = o.cust_id
ORDER BY c.cust\_name
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved