你會使用SQLite-Unions嗎?
導讀 | SQLite 是一個軟體庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。SQLite 是在世界上最廣泛部署的 SQL 資料庫引擎。SQLite 原始碼不受版許可權制。 |
UNION
語法
UNION 的基本語法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
這裡給定的條件根據需要可以是任何表示式。
例項
假設有下面兩個表,(1)COMPANY 表如下所示:
sqlite> select * from COMPANY; ID NAME AGE ADDRESS SALARY ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
(2)另一個表是 DEPARTMENT,如下所示:
ID DEPT EMP_ID ---------- -------------------- ---------- 1 IT Billing 1 2 Engineering 2 3 Finance 7 4 Engineering 3 5 Finance 4 6 Engineering 5 7 Finance 6
現在,讓我們使用 SELECT 語句及 UNION 子句來連線兩個表,如下所示:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
這將產生以下結果:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James Finance
UNION ALL 子句
UNION ALL 運算子用於結合兩個 SELECT 語句的結果,包括重複行。
適用於 UNION 的規則同樣適用於 UNION ALL 運算子。
語法
UNION ALL 的基本語法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
這裡給定的條件根據需要可以是任何表示式。
例項
現在,讓我們使用 SELECT 語句及 UNION ALL 子句來連線兩個表,如下所示:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION ALL SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
這將產生以下結果:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James Finance 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James Finance
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2718669/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於C# yield 你會使用嗎?C#
- Flutter篇之你真的會使用Future嗎?Flutter
- 你真的會使用資料庫的索引嗎?資料庫索引
- 使用Typora編寫Markdown你真的會了嗎
- 你不是說你會Aop嗎?
- 你會單例嗎?單例
- 你確定你會寫 Dockerfile 嗎?Docker
- 你真的會使用虛擬商品設計會員運營方案嗎?
- ActiveMQ你學會了嗎MQ
- 你真的會vue-router嗎?Vue
- 這道js題你會嗎?JS
- AI會動你的“乳酪”嗎?AI
- Margin會重疊,你造嗎
- Flutter共享元素動畫,你會嗎?Flutter動畫
- 谷歌官方元件Navigation你會用了嗎?谷歌元件Navigation
- 前端er,你真的會用 async 嗎?前端
- 每天加班的你,真的會工作嗎?
- 你還不會ES的CUD嗎?
- Java內部類你真的會嗎?Java
- 堆排序你真的學會了嗎?排序
- Python協程你學會了嗎?Python
- 你會在 GitHub 上面找專案嗎?我會哦!Github
- 純CSS實現瀑布流,你會嗎?CSS
- 你真的會搭建測試環境嗎?
- 這個SQL你會最佳化嗎?SQL
- Myabtis動態SQL,你真的會了嗎?SQL
- 這些 SpringBoot 面試題你會嗎?Spring Boot面試題
- 上班時你會經常看手機嗎?
- 動態規劃你學會了嗎?動態規劃
- 排序演算法你學會了嗎?排序演算法
- SAP Spartacus 會使用 Session timeout 嗎?Session
- 你真的熟練使用webpack嗎?Web
- 【原始碼分析】- 在SpringBoot中你會使用REST風格處理請求嗎?原始碼Spring BootREST
- 你真的會判斷 _objc_msgForward_stret 嗎OBJForward
- 你真的會用二分查詢嗎?
- [譯]你會在 JSX 裡 console.log 嗎JS
- 在Java中,你真的會日期轉換嗎Java
- React 中你會這 10 個 JavaScript 概念嗎?ReactJavaScript