mysql必知必會--過 濾 數 據

来源:https://www.cnblogs.com/ygjzs/archive/2020/01/21/12222101.html
-Advertisement-
Play Games

使用 WHERE 子句 資料庫表一般包含大量的數據,很少需要檢索表中所有行。通常只 會根據特定操作或報告的需要提取表數據的子集。只檢索所需數據需要 指定搜索條件(search criteria),搜索條件也稱為過濾條件(filter condition)。 在 SELECT 語句中,數據根據 WHE ...


使用 WHERE 子句

資料庫表一般包含大量的數據,很少需要檢索表中所有行。通常只
會根據特定操作或報告的需要提取表數據的子集。只檢索所需數據需要
指定搜索條件(search criteria),搜索條件也稱為過濾條件(filter
condition)。
在 SELECT 語句中,數據根據 WHERE 子句中指定的搜索條件進行過濾。
WHERE 子句在表名( FROM 子句)之後給出,

這條語句從 products 表中檢索兩個列,但不返回所有行,只返
回 prod_price 值為 2.50 的行

這個例子採用了簡單的相等測試:它檢查一個列是否具有指定的值,
據此進行過濾。但是SQL允許做的事情不僅僅是相等測試

SQL過濾與應用過濾 數據也可以在應用層過濾。為此目
的,SQL的 SELECT 語句為客戶機應用檢索出超過實際所需的
數據,然後客戶機代碼對返回數據進行迴圈,以提取出需要
的行。

通常,這種實現並不令人滿意。因此,對資料庫進行了優化,
以便快速有效地對數據進行過濾。讓客戶機應用(或開發語言)
處理資料庫的工作將會極大地影響應用的性能,並且使所創建
的應用完全不具備可伸縮性。此外,如果在客戶機上過濾數據,
伺服器不得不通過網路發送多餘的數據,這將導致網路帶寬的
浪費。

WHERE 子句的位置 在同時使用 ORDER BY 和 WHERE 子句時,應
該讓 ORDER BY 位於 WHERE 之後,否則將會產生錯誤

WHERE 子句操作符

我們在關於相等的測試時看到了第一個 WHERE 子句,它確定一個列是
否包含特定的值。MySQL支持表6-1列出的所有條件操作符

不匹配檢查

以下例子列出不是由供應商 1003 製造的所有產品

何時使用引號單引號用來限定字元串。如果將值與串類型的
列進行比較,則需要限定引號。用來與數值列進行比較的值不
用引號。

下麵是相同的例子,其中使用 != 而不是 <> 操作符:

範圍值檢查

為了檢查某個範圍的值,可使用 BETWEEN 操作符。其語法與其他 WHERE
子句的操作符稍有不同,因為它需要兩個值,即範圍的開始值和結束值。
例如, BETWEEN 操作符可用來檢索價格在5美元和10美元之間或日期在指
定的開始日期和結束日期之間的所有產品

下麵的例子說明如何使用 BETWEEN 操作符,它檢索價格在5美元和10
美元之間的所有產品

從這個例子中可以看到,在使用 BETWEEN 時,必須指定兩個值
——所需範圍的低端值和高端值。這兩個值必須用 AND 關鍵字
分隔。 BETWEEN 匹配範圍中所有的值,包括指定的開始值和結束值

空值檢查

在創建表時,表設計人員可以指定其中的列是否可以不包含值。在
一個列不包含值時,稱其為包含空值 NULL

NULL 無值(no value),它與欄位包含 0 、空字元串或僅僅包含
空格不同

SELECT 語句有一個特殊的 WHERE 子句,可用來檢查具有 NULL 值的列。
這個 WHERE 子句就是 IS NULL 子句。其語法如下:

這條語句返回沒有價格(空 prod_price 欄位,不是價格為 0 )的所有
產品,由於表中沒有這樣的行,所以沒有返回數據

NULL 與不匹配 在通過過濾選擇出不具有特定值的行時,你
可能希望返回具有 NULL 值的行。但是,不行。因為未知具有
特殊的含義,資料庫不知道它們是否匹配,所以在匹配過濾
或不匹配過濾時不返回它們。
因此,在過濾數據時,一定要驗證返回數據中確實給出了被
過濾列具有 NULL 的行。

本章介紹瞭如何用 SELECT 語句的 WHERE 子句過濾返回的數據。我們學
習瞭如何對相等、不相等、大於、小於、值的範圍以及 NULL 值等進行測
試。


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

-Advertisement-
Play Games
更多相關文章
  • 思路:一臺Server 2016用作AD+DNS,一臺Server 2016用作Exchange Server 2016 Exchange Server 2016 CU14 安裝路徑:安裝路徑:https://www.microsoft.com/en-us/download/details.aspx ...
  • WEB管理工具 WebVirtMgr WebVirtMgr是一個基於libvirt的Web界面,用於管理虛擬機。它允許您創建和配置新域,並調整域的資源分配。VNC查看器為來賓域提供完整的圖形控制台。KVM是目前唯一支持的虛擬機管理程式。 基礎環境 hosts免密登錄 kvm所用的所有伺服器都需要互相 ...
  • JDK 的安裝系統安裝就不做過多介紹,大家從網上尋找安裝步驟進行安裝,不過我推薦大家進行安裝時選擇桌面圖形化格式進行安裝,方便做一部分操作,同時在安裝過程中選擇英文模式,同時我自己在安裝的過程中發現使用Oracle VM VirtualBox這個虛擬機工具比使用VM工具開發更加方便些 使用工具 系統 ...
  • 造成這種情況的原因有很多,如果直接百度錯誤信息的話,不一定能很快解決問題,所以,出現這種情況,我們可以使用 mysqld console 命令來查看報錯信息,然後根據報錯信息來百度,這樣就很快定位到問題所在。看到以下截圖,我的問題是 Please make sure that directory e ...
  • 推薦閱讀: 論主數據的重要性(正確理解元數據、數據元) CDC+ETL實現數據集成方案 Java實現impala操作kudu 實戰kudu集成impala impala基本介紹 impala是cloudera提供的一款高效率的sql查詢工具,提供實時的查詢效果,官方測試性能比hive快10到100倍 ...
  • 正則表達式介紹 前兩章中的過濾例子允許用匹配、比較和通配操作符尋找數據。對 於基本的過濾(或者甚至是某些不那麼基本的過濾),這樣就足夠了。但 隨著過濾條件的複雜性的增加, WHERE 子句本身的複雜性也有必要增加。 這也就是正則表達式變得有用的地方。正則表達式是用來匹配文本 的特殊的串(字元集合)。 ...
  • LIKE 操作符 前面介紹的所有操作符都是針對已知值進行過濾的。不管是匹配一 個還是多個值,測試大於還是小於已知值,或者檢查某個範圍的值,共 同點是過濾中使用的值都是已知的。但是,這種過濾方法並不是任何時 候都好用。例如,怎樣搜索產品名中包含文本anvil的所有產品?用簡單 的比較操作符肯定不行,必 ...
  • 如何組合 WHERE 子句以建立功能更強的更高級的搜索條件?如何使用 NOT 和 IN 操作符? 組合 WHERE 子句 第6章中介紹的所有 WHERE 子句在過濾數據時使用的都是單一的條 件。為了進行更強的過濾控制,MySQL允許給出多個 WHERE 子句。這些子 句可以兩種方式使用:以 AND ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...