掌握MySQL比較運算符是很有必要的

2021-01-07 老羅觀社會萬象

本文要的主題就是MySQL比較運算符,也就是通過各類案例來看看其運行得到的結果是什麼,以及掌握其規則。

首先,我們看看比較運算符有哪些種類。

接下來我們就通過案例的案例的方式來逐一學習。

【1】等於運算符:=

「=」是用來判斷數字、字符串和表達式是否相等,如果相等,返回值為,否則返回值為0。

select 5=6,'9'=9,668=668,'luo'='luo',(2*3)=(4*5),NULL=NULL,0=NULL;

【結論】

若有一個兩個操作數為NULL,比較運算的結果就是NULL;若同一個比較運算符中兩個操作數都是字符串,則按照字符串進行比較;若同一個比較運算符中兩個操作數都是數值,則按照數值進行比較;若是一個數值和一個字符串進行比較,則MySQL自動將字符串轉化為數值;不管何種情況,「=」比較返回的確實只有1、0與NULL三類值。【2】安全等於運算符:<=>

「<=>」運算符在具備「=」所有功能的基礎上增加了判斷NULL值的功能。

select 5<=>6,'9'<=>9,668<=>668,'luo'<=>'luo',(2*3)<=>(4*5),NULL<=>NULL,0<=>NULL;

【結論】

「<=>」運算符確實具備「=」所有功能,返回值也是1、0與NULL;當兩個操作數均為NULL時,「<=>」運算符返回的結果為1,而不是NULL;當只有一個操作數為NULL時,「<=>」運算符返回的結果也不是NULL而是0。【3】不等於運算符:<>或!=

select 5<>6,'9'<>9,668<>668,'luo'<>'luo',(2*3)<>(4*5),NULL<>NULL,0<>NULL;select 5!=6,'9'!=9,668!=668,'luo'!='luo',(2*3)!=(4*5),NULL!=NULL,0!=NULL;

【結論】

「<>」或「!=」運算符也是可以用於數字、字符串與表達式的判斷;其比較邏輯與「=」相反,但返回值也是1、0與NULL;【4】小於或等於運算符:<=

select 5<=6,'9'<=9,668<=668,'luo'<='luo',(2*3)<=(4*5),NULL<=NULL,0<=NULL;

【結論】

「<=」運算符也是可以用於數字、字符串與表達式的判斷;其邏輯:判斷左邊的操作數是否小於右邊的操作數,如果是則返回1,否則返回0;針對含有NULL的操作數則好不猶豫地返回NULL。【5】小於運算符:<

【6】大於或等於運算符:>=

【7】大於運算符:>

這三類運算符與上面的「<=」邏輯一致,大家可以自己去分析其過程並得到結論。

select 5<6,'9'<9,668<668,'luo'<'luo',(2*3)<(4*5),NULL<NULL,0<NULL;

【8】IS NULL(ISNULL)、IS NOT NULL運算符

select NULL IS NULL,ISNULL(NULL),ISNULL(2019),2019 IS NULL;

【結論】

這類比較運算符是用來判斷數字、字符、表達式結果是否為NULL;返回的結果值有1、0,沒有NULL;IS NULL(ISNULL)與IS NOT NULL返回的值相反。【9】BETWEEN AND運算符

其語法格式為「expr BETWEEN min AND max」。

SELECT 19 BETWEEN 0 AND 20,19 BETWEEN 0 AND 15,19 BETWEEN 0 AND 19,19 BETWEEN 19 AND 20;SELECT 'a' BETWEEN 'a' AND 'z',(2*3) BETWEEN 0 AND 10,NULL BETWEEN 0 AND 10;

【結論】

這類比較運算符是用來判斷數字、字符、表達式結果是否為NULL;返回的結果值有1、0與NULL;等同於:min <= expr <=max,即包含上下限的值。【10】IN與NOT IN運算符

SELECT 2019 IN('2019',2019,'A'),'A' IN('2019',2019,'A'),2018 IN('2019',2019,'A');SELECT 2019 NOT IN('2019',2019,'A'),'A' NOT IN('2019',2019,'A'),2018 NOT IN('2019',2019,'A');

【結論】

這類比較運算符是用來判斷數字、字符、表達式結果是否為NULL;返回的結果值有1、0與NULL;IN用來判斷操作數是否為IN列表中的一個值,如果是則返回1,否則返回0,對於NULL則返回NULL。NOT IN則於IN相反。【11】LIKE運算符

其語法格式為「expr LIKE 匹配條件」。

SELECT 'luo' LIKE 'luo','luo' LIKE 'luo_','luo' LIKE '%l','luo' LIKE 'l__','luo' LIKE NULL;SELECT 3 LIKE '345',3 LIKE 345;

【結論】

LIKE運算符用於匹配字符串;返回的結果值有1、0與NULL;包含兩種通配符。「%」匹配任何字符,甚至包括零字符;「_」只能匹配一個字符。【12】REGEXP運算符

REGEXP是LIKE的逆運算。語法格式類似:「expr REGEXP 匹配條件」。只是其包含的通配符更多。

^:匹配以該字符後面的字符開頭的字符串;$:匹配以該字符後面的字符結尾的字符串;.:匹配任何一個單字符;[···]:匹配方括號內的任何字符;*:匹配零個或多個在它前面的字符。SELECT 'luo' REGEXP '^l', 'luo' REGEXP 'o$', 'luo' REGEXP '.l', 'luo' REGEXP '[abc]';SELECT 'luo' REGEXP '[a-z]*','luo' REGEXP '[0-9]*','luo' REGEXP '.*';

【結論】

REGEXP運算符用於匹配字符串;返回的結果值有1、0與NULL;根據匹配條件判斷返回結果。總結MySQL支持的比較運算符有12類;一個比較運算符的結果總是1、0或NULL;只有「<=>」才支持NULL的比較,其他對有NULL操作數時返回的結果就是NULL。

相關焦點

  • MySQL涉及二進位的運算符:位運算符
    截止目前我們已經學習了MySQL的三種運算符:算術運算符、比較運算符、邏輯運算符。三者有一個共同點都是針對字符型、表達式和十進位的數字。那有沒有一種專門為二進位數字提供的運算符呢?這就是本問題的主題:位運算符。
  • 認識MySQL第三種運算符:邏輯運算符
    首先我們通過一個表來看看MySQL的邏輯運算符有哪幾種類型:從表中可以看出MySQL中邏輯運算符有4種類型。下面我們就通過案例的老方式來逐一認識它們。最終需要掌握如下幾點:掌握基本語法;靈活組合使用;明確何種情況下返回何種值。
  • 關於mysql中運算符與函數的概述
    運算符是告訴mysql執行特定的算術或邏輯操作的符號,運算符連接著各個表達式中的操作數,其作用是用來指明對操作數進行的運算。1.算術運算符:2.比較運算符:3.邏輯運算符:MySQL數值函數:1.獲取整數的函數:2.四捨五入的函數:3.截斷函數:4.取模:
  • Mysql基本常用運算符
    算術運算符:+ - * / %比較運算符:> >= < <= =(等於) <>(不等於)=(不等於)邏輯運算符邏輯與: and邏輯或: or邏輯非: notis運算符它只用於對布爾值和空值(null
  • javascript語言的六大運算符功能,你掌握了多少?
    對於昨天的數據轉換,你掌握了多少?好了,廢話就不多講了,咱們開始今天的新旅程吧!今天小編要給大家分享的是JS的運算符與及運用,那麼問題來了,什麼是JS運算符呢?這裡所說的運算符,是指用來對數據進行加、喊、乘、除等運算,JS常見的運算符主要有:一:算術運算符:對數字類型進行+、-、*、/的算術運算,如下圖:例:打開谷歌瀏覽器的開發者工具,找到控制臺,控制臺的功能非常強大,可以當作一個計算器使用,如我們輸入上圖以上數字和運算符,分別按下回車,其結果如下:
  • MYSQL資料庫操作案例
    以下為刪除MySQL數據表的通用語法:root@host# mysql -u root -pEnter password:*******mysql> use RUNOOB;Database changedmysql> DROP
  • mysql 常用命令二
    2)use school; 3)source sch ool.sql;#導出資料庫# mysqldump
  • C ++ 20中的三向比較運算符(太空飛船運算符)
    三向比較運算符「 <=>」稱為太空飛船運算符。飛船操作員確定兩個對象甲和乙是否A <B,A = B或A> B。太空船操作員或編譯器可以為我們自動生成。同樣,三向比較是一種可以在一個查詢中給出整個關係的函數。
  • 好程式設計師Java培訓分享MySQL算術運算符
    好程式設計師Java培訓分享MySQL算術運算符 (1)算術運算符:+ – * /(除也可以寫成div) %(取模可以寫成mod) (2)比較運算符:= > >= (3)邏輯運算符:&&(邏輯與也可以寫成
  • Mysql基本語法知識點小結
    概念:長期存放在計算機內,有組織,可共享的大量數據的集合,是一個數據 "倉庫"作用:保存並且能安全管理數據(增刪改查)資料庫分為:關係型資料庫(SQL)例如:MySQL , Oracle , SQL Server
  • mysql資料庫select查詢語句
    select的相關語句在mysql中用的非常多,介紹一下。1 select * from 表名;*(代表表中的所有欄位)2 select distinct 欄位名 from 表名 ; distinct 去掉重複欄位3 select * from 表名 where 條件 ;where 添加查詢的限制條件比較運算符
  • 了解資料庫類型及MySQL資料庫常用命令行
    2、資料庫的分類(1) 關係型資料庫(sql資料庫):中型:mysql(埠號3306)、sql server大型:Oracle(埠號1521)(2) 非關係型資料庫(no-sql資料庫)>MongoDB、Redis3、mysql軟體:Sql yog:資料庫客戶端工具(圖形用戶界面工具)方便操作資料庫。
  • 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!3.1.3、比較(關係)運算符用於對變量或表達式的結果進行大小,真假的比較,返回結果True 、False,通常用在條件語句中作為判斷的依據。
  • 考前複習必備MySQL資料庫(關係型資料庫管理系統)
    複習必備MySQL資料庫管理方法,掌握資料庫的初始化,創建,查看,和刪除方法。學習數據表管理方法,掌握數據表的創建,查看,修改和刪除方法。用戶帳戶的管理,用戶的創建,與刪除,用戶權限的授予與回收,用戶密碼的設置與更改方法。目錄複習為了方便查看學習,我做了思維導圖,如下圖所示:
  • MySQL環境配置和入門講解!
    表中每個列存儲特定的信息,比如商品的表中有:商品的名稱、生產日期、產地等。每個列都有相應的數據類型行row:表中的數據是按照行存儲的,所保存的記錄是存儲在自己的行內。比如顧客表中,每行存儲一個顧客的相關信息。
  • MySQL面試題集錦,據說知名網際網路公司都用
    ·BLOB或TEXT欄位是不允許的只能使用比較運算符=,<,>,=>,= <HEAP表不支持AUTO_INCREMENT索引不可為NULL4、MySQL伺服器默認埠是什麼?MySQL伺服器的默認埠是3306。5、與Oracle相比,MySQL有什麼優勢?
  • Python 運算符,什麼是Python 運算符
    Python語言支持以下類型的運算符:算術運算符比較(關係)賦值運算符、邏輯運算符、位運算符、成員運算符、身份運算符、運算符優先級,接下來讓我們一個個來學習Python的運算符。:運算符 描述 實例== 等於 - 比較對象是否相等 (a == b) 返回 False。
  • 06-mysql基礎-mysql中的DQL-子查詢
    在上一期05-mysql基礎-mysql中的DQL-連接查詢的推文中我們學習了mysql的連接查詢知識,本期我們將繼續學習DQL中的子查詢。成為子查詢或內查詢外部的查詢語句,成為主查詢或外查詢分類:按子查詢出現的位置: select後面 僅支持標量子查詢 from後面 支持表子查詢 where或having後面 支持標量子查詢(*) 列子查詢(*) 行子查詢 exists後面(相關子查詢) 表子查詢按結果集的行列數不同: 標量子查詢(結果集只有一行一列) 列子查詢(結果集有一列多行
  • MySql之基礎語法篇
    UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重複行而派生出一個結果表。示例:-- A表和B表都有編號,名字兩個欄位,A表有10條數據,其中一條是(2,老段),B表有10條數據,其中一條是(2,老段),把兩張表數據合起來的sqlselect * from A UNION select * from B  --(會有兩條(2,老段)數據)select * from A UNION
  • excel運算技巧:關於比較運算符的妙用 - ACGN漫步者
    excel工作表的比較運算符:=(等於)、>(大於)、>=(大於等於)、<=(小於等於)、<>(不等於)。<>(不等於)可能對於很多朋友來說並不常用,但是往往也是比較實用的,在接下來的舉例過程中,我們將運用到它。