mysql關聯查詢

2021-09-01 07:54:40 字數 1463 閱讀 5012

在程式開發時,不可避免的要用到檢視,首先我們來看看檢視到底有什麼作用:

簡單性:看到的就是需要的。檢視不僅可以簡化使用者對資料的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為檢視,從而使得使用者不必為以後的操作每次制定全部的條件。

安全性:通過檢視用固話只能查詢和修改他們所能見到的資料。資料庫中的其他資料則既看不見也取不到。資料庫授權命令可以使每個使用者對資料庫的檢索限制到特定的資料庫物件上,但不能授權到資料庫特定行和特定的列上。

其他的優點暫時省略。

檢視中我們用的最多的可能就是多表查詢了,既然檢視有這麼多的優點,那麼我們就來說說如何多表查詢

兩個表查詢:

情景1如圖所示:

其中foodtypeid為第二個表的主鍵,那麼當我們要篩選出這樣的資料(foodid、foodtypename、foodname、price)的時候就要用到多表查詢了,是這樣做的:

[sql] view plaincopy

select foodinfo.foodid, foodtypeinfo.foodtypename ,

foodinfo.foodname ,foodinfo.price

from foodinfo inner join foodtypeinfo

on foodinfo.foodtypeid =foodtypeinfo .foodtypeid

情景2如圖所示:

大家可以看到第一張表和上面的相比增加了兩個字段,其中我們要用到的就有managerid,第二張表還是原來那張表,增加的第三張表中我們也用到managerid,最後查詢的結果想要看到的是(foodid、foodtypename、foodname、price,managerid),是這樣操作的:

[sql] view plaincopy

select foodinfo.foodid, foodtypeinfo.foodtypename ,

foodinfo.foodname ,foodinfo.price,

managerinfo.managerid

from (foodinfo inner join foodtypeinfo

on foodinfo.foodtypeid =foodtypeinfo .foodtypeid )

inner join managerinfo on managerinfo.managerid =foodinfo .managerid

看到上面的我們是不是可以總結出這樣的規律呢?

我們以五個表為例來說明一下:

首先前面的選擇表頭的東西就省略了,直接寫表和表之間的關係:

[sql] view plaincopy

from((((表 inner join 表 on 表.欄位名 =表.欄位名)

innner join 表 on 表.欄位名=表.欄位名)

inner join 表 on表.欄位名=表.欄位名)

inner join 表 on 表.欄位名=表.欄位名

mysql關聯查詢去重 MySQL 關聯查詢

mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...

Mysql關聯查詢

七種結果 7 a b a b 或者 a a b b a b 如何實現?1 內連線 2 外連線 左外連線 右外連線 全外連線 mysql使用union代替全外連線 1.內連線 實現a b select 字段列表 from a表 inner join b表 on 關聯條件 where 等其他子句 或se...

mysql 關聯查詢

inner join 只取兩張表的交集的部分,join預設為inner join left join 取左表的所有部分,並且取出與右表關聯上的資料 同left join的作用,只是驅動錶換了位置 全外連線,mysql目前沒有,可以用union代替,如 select e.empname,d.deptn...