讀SQL學習指南(第3版)筆記05_過濾

来源:https://www.cnblogs.com/lying7/archive/2023/08/25/17648234.html
-Advertisement-
Play Games

![](https://img2023.cnblogs.com/blog/3076680/202308/3076680-20230822120346228-1599813347.png) # 1. 不需要考慮排除任何列 ## 1.1. 清除數據表中所有的內容 ## 1.2. 暫存新數據倉庫的數據 # ...


1. 不需要考慮排除任何列

1.1. 清除數據表中所有的內容

1.2. 暫存新數據倉庫的數據

1.3. 向數據表中新添一列後

1.4. 修改數據表中的所有行

1.5. 檢索消息隊列表中的所有行

2. where子句

2.1. 可以在其中指定一個或多個過濾條件,用於限制SQL語句處理的行數

2.2. 使用括弧

2.2.1. 同時使用運算符and和or的3個或以上條件,應該使用括弧向資料庫伺服器和其他閱讀代碼的人表明意圖

2.3. 使用not運算符

3. 構建條件

3.1. 條件由一個或多個表達式並通過一個或多個運算符組合而成

3.2. 表達式

3.2.1. 數字

3.2.2. 數據表或視圖中的列

3.2.3. 字元串字面量

3.2.4. 內建函數

3.2.4.1. concat('Learning', ' ', 'SQL')

3.2.5. 子查詢

3.2.6. 表達式列表

3.2.6.1. ('Boston', 'New York', 'Chicago')

3.3. 運算符

3.3.1. 比較運算符

3.3.1.1. =、!=、<、>、<>、like、in和between

3.3.2. 算術運算符

3.3.2.1. +、−、*和/

4. 條件類型

4.1. 相等條件

4.1.1. 一個表達式與另一個表達式之間的相等關係

4.2. 不等條件

4.2.1. 用於斷言兩個表達式之間的不等關係

4.3. 範圍條件

4.3.1. 檢查表達式的值是否處於某個範圍

4.3.2. 通常用於數值型或時間型數據

4.3.3. between運算符

4.3.3.1. 當需要同時限制範圍的上限和下限時,可以選擇使用between運算符構建單個查詢條件,而不用兩個單獨的條件

4.3.3.2. 首先必須指定範圍的下限(在between之後),然後指定範圍的上限(在and之後)

4.3.4. 字元串範圍

4.3.5. 成員條件

4.4. 匹配條件

4.4.1. 使用通配符

4.4.1.1. 以某個字元開始(或結束)的字元串

4.4.1.2. 以某個子串開始(或結束)的字元串

4.4.1.3. 在字元串中的任意位置包含某個字元的字元串

4.4.1.4. 在字元串中的任意位置包含某個子串的字元串

4.4.1.5. 具備特定格式(無關單個字元)的字元串

4.4.1.6. mysql

 -> SELECT last_name, first_name
    -> FROM customer
    -> WHERE last_name LIKE 'Q%' OR last_name LIKE 'Y%';

4.4.2. 使用正則表達式

4.4.2.1. regexp運算符接受一個正則表達式

4.4.2.1.1. mysql
 -> SELECT last_name, first_name
    -> FROM customer
    -> WHERE last_name REGEXP '^[QY]';
4.4.2.1.2. 該查詢現在只包含了使用正則表達式的一個條件,不再是使用通配符的兩個條件

4.4.2.2. 在Oracle Database中,使用regexp_like函數代替regexp運算符

4.4.2.3. SQL Server允許正則表達式與like運算符配合使用

5. null

5.1. 沒有合適的值

5.1.1. ATM機上的自助交易並不需要employee ID列

5.2. 值未確定

5.2.1. 在創建客戶所在行時不知道其ID

5.3. 值未定義

5.3.1. 為某個尚未添加到資料庫的產品創建賬戶

5.4. 表達式可以為null,但不能等於(never equal)null

5.5. 兩個null值不相等

5.5.1. 為了測試表達式是否為null,需要使用is null運算符

5.6. 如果要查看某列是否已經被賦值,可以使用is not null運算符

5.7. 使用一個不熟悉的資料庫時,最好是找出數據表中哪些列允許出現null,這樣就可以在過濾條件中採取適當的措施,以防止遺漏數據


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 筆者之前在公司搭建過一套生產管理系統,該系統要求能和硬體進行串口通信,同時又要提供後臺信息查詢。筆者給出的解決方案就是:MAUI + Blazor,這樣只需要提供一套UI,就能滿足桌面端、移動端和Web端三種不同應用場景。今天要介紹的就是桌面端的開發實現。 開發技術 .NET 6 + MAUI ...
  • 【前言】 本文講述的.NET數據分頁方法為【史上最強】,已被多家大型科技公司實戰採用 & 也被圈內多家知名IT培訓機構轉載收藏。 【正文】 支持.Net Core(2.0及以上)與.Net Framework(4.5及以上) 可以部署在Docker, Windows, Linux, Mac。 數據分 ...
  • # Unity UGUI的Slider(滑動條)件組的介紹及使用 ## 1. 什麼是Slider組件? Slider(滑動條)是Unity UGUI中的一種常用UI組件用,於在用戶界面中實現滑動選擇的功能。通過拖動滑塊,用戶可以選擇一個數值範圍的內值。 ## 2. Slider組件的工作原理 Sli ...
  • # 記錄一次EF實體跟蹤錯誤 # 前言 在我寫文章編輯介面的,出現了一個實體跟蹤的錯誤,詳情如下 > System.InvalidOperationException: The instance of entity type 'Tag' cannot be tracked because anoth ...
  • # UGUI的Image(圖片)組件的介紹及使用 ## 1. 什麼是UGUI的Image(圖片)組件? UGUI的Image(圖片)組件是Unity引擎中的一種UI組件,用於顯示2D圖像。它提供了一種簡單而靈活的方式來在游戲中載入和顯示圖片。 ## 2. 為什麼要使用UGUI的Image(圖片)組件 ...
  • # 記錄http請求 ## 環境 * .net7 ## 一、過濾器(Filter) 這個過程用的的是操作過濾器(`ActionFilter`) ## 二、 ### 2.1 繼承`IAsyncActionFilter` ### 2.2 重寫`OnActionExecutionAsync` `OnAct ...
  • [toc] # Linux運維工程師面試題(2) > 祝各位小伙伴們早日找到自己心儀的工作。 > 持續學習才不會被淘汰。 > 地球不爆炸,我們不放假。 > 機會總是留給有有準備的人的。 > 加油,打工人! ## 1 訪問一個網站的流程 1. 打開瀏覽器,輸入網址。首先查找本地緩存,如果有就打開頁面, ...
  • 操作系統是電腦不可或缺的一部分,它連接著硬體和應用程式。內核是操作系統的核心,負責管理進程和線程、記憶體、硬體設備以及提供系統調用介面。電腦啟動過程中,ROM負責載入並執行BIOS程式,而RAM用於存儲運行中的程式和數據。系統調用是操作系統提供給應用程式的介面,通過系統調用可以訪問操作系統的功能。... ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...