10、mysql多表查詢 和 重命名


前面我們都是說怎么查詢一個單表,但實際的工作中,往往都是幾個表數據交互的情況

有時候就需要我們根據多個表去查詢我們想要的數據

 

 舉例說明:有 Store_Information 表1

      

      

      Geography 表2

      

      表2說明:

      region_name    地區

      store_name      店鋪名

 

   1、如果我們想知道每個地區(region_name) 的營業額(sales)呢?表1沒有地區,表二沒有營業額

   這時候就需要我們把兩個不同的表格串聯起來,怎么串聯呢。。。我們可以看到兩個表格都有同一個欄位名

   store_name   

 

1、多表查詢

     語法:

        select   欄位名   from   表1,表2  where   表1.相同欄位名  =  表2.相同欄位名

 

     說明:

         where   子句后面的條件,代表這兩個表的鏈接

 

     舉例說明:

       1)查看地區的銷售額

          語句為:

            SELECT Geography.region_name,   SUM(Store_Information.sales)

            FROM Store_Information,  Geography

            WHERE Store_Information.store_name   =    Geography.store_name

            GROUP BY   Geography.region_name

 

 

          語法解釋:

            select     Geography表的region_name欄位  和    Store_Information表的sales欄位

            from       來自Store_Information和 Geography表

            where     這兩個查詢的欄位,不是同一個表,所以需要把這兩個表連接起來,他們存在相同的欄位

            group  by     根據Geography表的region_name欄位分組

 

          結果為:

            

 

 

           這時候我們發現,這條語句死鬼長,還難看~~~~~怎么優化呢,這就涉及到as 重命名

 

2、as 重命名

    語法:

      select    欄位名1,欄位名2   from   表名1   as   新表名1,表名2  as  新表名2

 

    

 

      針對這條語句優化

 

     SELECT   a2.region_name,SUM(a1.sales)

     FROM Store_Information  as  a1 ,Geography as a2

     WHERE a1.store_name = a2.store_name

     GROUP BY a2.region_name

      從這語句中可以看到表名已經由a1和a2代替了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM