MySQL--操作簡記(聯結表,組合查詢(UNION))
聯結表
1.建立聯結
SELECT vend_name,prod_name,prod_price
FROM vendors, products
WHERE vendors.vend_id = products.vend_id
- 1
- 2
- 3
上面的語句與之前最大的區別在於,指定的列位於兩張表內,使用where進行聯結。
返回表vendors與表products中vend_id相等的vend_name,prod_name,prod_price
基於兩個表之間的相等測試,這種聯結稱為等值聯結,或內部聯結。對於這種聯結,還可以使用下面這種語法:
- INNER JOIN
ON
SELECT vend_name,prod_name,prod_price
FROM vendors INNER JOIN products
ON vendors.vend_id = products.vend_id
- 1
- 2
- 3
2.聯結多個表
SELECT vend_name,prod_name,prod_price, quantity
FROM vendors, products, order
WHERE vendors.vend_id = products.vend_id
AND order.prod_id = products.vend_id
AND order_num = 20005;
- 1
- 2
- 3
- 4
- 5
FROM後跟多個表,WHERE子句條件用AND連線。
3.聯結的其他型別
- 自聯結:在select語句中不止一次引用相同的表
- 自然聯結:至少有一個列出現在不止一個表中
- 外部聯結:聯結包含了在相關表中沒有關聯行的行
組合查詢
執行多個查詢(多條SELECT語句),並將結果作為但個查詢結果集返回。
1.建立組合查詢
UNION
例如,我想查詢價格小於10 或供應商名字為a的id號,即下面的兩段語句怎麼同時實現
SELECT order_id, order_price, order_name
FROM order1
WHERE order_price < 10;
- 1
- 2
- 3
SELECT order_id, order_price, order_name
FROM order1
WHERE order_name = 'a';
- 1
- 2
- 3
使用union組合:
SELECT order_id, order_price, order_name
FROM order1
WHERE order_price < 10
UNION
SELECT order_id, order_price, order_name
FROM order1
WHERE order_name = 'a';
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2.UNION規則
- 必須由兩條或兩條以上的select語句組成,每兩條之間用一個UNION分隔
- UNION中的每個查詢必須包含相同的列,表示式或聚集函式
- 列資料型別必須相容,型別不必完全相同,但必須是可以隱含轉換的型別
- 使用UNION滿足了條件後,可能會有條件滿足重複的,就會有重複,使用UNION ALL可以自動除去重複的行
3.對組合查詢結果排序
在使用UNION組合查詢時,只能使用一條ORDER BY子句,必須出現在最後一條SELECT語句之後
相關文章
- 組合查詢(UNION)
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- 資料庫學習(六)聯合查詢union資料庫
- MySQL--基礎知識點--65--組合查詢MySql
- MySQL 合併查詢union 查詢出的行合併到一個表中MySql
- 按月分表聯合查詢
- SQL 三表聯合查詢SQL
- 通過這次聯合 (union) 查詢瞭解 Laravel DB 的資料繫結Laravel
- SQL 兩個表組合查詢SQL
- MySQL入門系列:查詢簡介(七)之組合查詢MySql
- union 聯合體
- 詳解MySQL--慢查詢MySql
- django 兩個表或多個表聯合查詢Django
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- mysql三表聯合查詢(員工表,部門表,工資表)MySql
- jpa動態查詢與多表聯合查詢
- Spring JPA 聯表查詢Spring
- Mongodb 關聯表查詢MongoDB
- ThinkPHP6 多模型關聯查詢操作記錄PHP模型
- JPA 之 多表聯合查詢
- 01-sql-聯合查詢SQL
- Mysql-基本練習(09-刪除單表記錄、查詢指定列資料、列的別名、簡單單表條件查詢、簡單分組查詢)MySql
- MySQL全面瓦解11:子查詢和組合查詢MySql
- mysql三表關聯查詢MySql
- mysql 三表關聯查詢MySql
- 基於聯合查詢的注入
- Laravel 關聯查詢限制條數和分組查詢顯示為零的結果Laravel
- mysql三張表關聯查詢MySql
- 兩表關聯查詢:sql、mybatisSQLMyBatis
- springDataJpa聯表查詢之多對多Spring
- 20、聯表查詢JoinON詳解
- mybatis多表聯合查詢的寫法MyBatis
- 模型聯合查詢返回指定欄位模型
- 17. 使用MySQL之組合查詢MySql
- 聊聊mysql的多列組合查詢MySql
- mysql三表關聯查詢練習MySql
- Spring Data JPA 實現聯表查詢Spring