• <menu id="w2i4a"></menu>
  • logo Navicat使用教程-2019.1

    文檔首頁>>Navicat使用教程-2019.1>>Navicat使用教程:如何使用SQL CASE語句來測試條件和離散值

    Navicat使用教程:如何使用SQL CASE語句來測試條件和離散值


    Navicat Premium是一個可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。喜歡的朋友不妨下載試用版感受一下~

    點擊下載Navicat Premium試用版

    CASE是一個流控制語句,其作用與IF-THEN-ELSE語句非常相似,可根據(jù)數(shù)據(jù)選擇值CASE語句通過條件并在滿足第一個條件時返回一個值。因此,一旦條件成立,它就會短路,從而忽略后面的子句,并返回結果。正如我們在今天的文章中看到的那樣,它可以用來測試條件和離散值。

    基本語法

    CASE語句有兩種形式:第一種評估一個或多個條件,并返回第一個條件為true的結果。如果沒有條件為真,則返回ELSE后的結果,如果沒有ELSE部分,則返回NULL:

    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        WHEN conditionN THEN resultN
        ELSE result
    END;

    第二個CASE語法返回第一個value = compare_value比較結果為true的結果。如果沒有比較為真,則返回ELSE后的結果,如果沒有ELSE部分,則返回NULL:

    CASE compare_value
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        WHEN conditionN THEN resultN
        ELSE result
    END;

    一些例子

    要試用CASE語句,我們將使用Navicat Premium編寫一些針對Sakila示例數(shù)據(jù)庫的查詢。它是一個功能強大的數(shù)據(jù)庫開發(fā)和管理工具,可以同時連接到大多數(shù)流行的數(shù)據(jù)庫,包括MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL和SQLite數(shù)據(jù)庫。它還兼容許多云數(shù)據(jù)庫,如Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、Google Cloud和MongoDB Atlas。

    語法1

    這是一個選擇電影標題列表的查詢,以及它們的發(fā)行年份和租賃價格:

    13basic_query.jpg

    我們將添加一個列,將租賃價格分為三類:“折扣”、“常規(guī)”和“溢價”。價格范圍是:

    • 不到2.99美元

    • 2.99美元到4.99美元之間

    • 4.99美元以上

    為了幫助使用CASE語句,Navicat提供了代碼片段,您只需將其拖放到SQL編輯器即可。雖然您可以創(chuàng)建自己的,但Navicat附帶了許多標準SQL語句,包括DDL和流控制語句。實際上,您將在流控制列表的頂部找到CASE語句:

    14code_snippets.jpg

    將代碼段放入編輯器后,可編輯的部分采用顏色編碼以幫助識別它們。您可以使用Tab鍵從一個移動到下一個。

    15inserted_case_statement.jpg

    由于這些語句本質上是通用的,因此您可能需要稍微修改它以適合您的特定數(shù)據(jù)庫類型。這是MySQL的完整CASE語句和查詢:

    16case_prices.jpg

    語法2

    第二種CASE語法非常適合針對兩個或多個條件測試離散值。例如,我們可以使用它根據(jù)電影評級添加目標受眾群列:

    17target_audience.jpg

    結論

    在今天的文章中,我們學習了如何使用SQL CASE語句來選擇基于底層數(shù)據(jù)的值。示例SQL語句是用Navicat Premium編寫的。它通過獲取關鍵字的建議并從編碼中刪除重復,幫助您快速編寫代碼完成和可自定義的代碼片段。

    相關文章:

    Navicat使用教程:使用MySQL 8中的觸發(fā)器驗證數(shù)據(jù)

    Navicat使用教程:編寫包含SQL自連接的查詢

    Navicat使用教程:從單個工具連接到多個數(shù)據(jù)庫

    Navicat使用教程:從單個應用程序管理多個數(shù)據(jù)庫

    Navicat使用教程:如何跨多個數(shù)據(jù)庫查詢


    想要購買Navicat Premium正版授權,或了解更多產(chǎn)品信息請點擊“咨詢在線客服”

    掃描關注慧聚IT微信公眾號,及時獲取最新動態(tài)及最新資訊

    1563778777.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();