MySQL查詢數據 使用IF來判斷動態執行條件


MySQL查詢數據,使用IF來判斷動態執行條件
格式
IF(expression ,expr_true, expr_false);
MySQL的IF()函數,接受三個表達式,如果第一個表達式為true,而不是零且不為NULL,它將返回第二個表達式。否則,它返回第三個表達式。根據使用它的上下文,它返回數字或字符串值。

實例
SELECT * FROM book WHERE IF(price > 120, btypeid=10, btypeid=11);#WHERE  IF(條件,  true執行條件, false執行條件 )

釋義

  當price大於120為真時,執行語句為where price>120 and btypeid=10;

  當price大於120為假時,執行語句為where price<120 and btypeid=11;准確來說應該是where price<=120 and btypeid=11;

  SELECT * FROM  book WHERE IF(price > 120,  btypeid=10,  btypeid=11);這條sql語句等價於如下sql語句

  select * from book where price > 120 and btypeid =10 union select * from book where price < 120 and btypeid = 11;

MySQL UNION 操作符

MySQL UNION 操作符用於連接兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重復的數據。

MySQL UNION 操作符語法格式:

SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

參數

  • expression1, expression2, ... expression_n: 要檢索的列。

  • tables: 要檢索的數據表。

  • WHERE conditions: 可選, 檢索條件。

  • DISTINCT: 可選,刪除結果集中重復的數據。默認情況下 UNION 操作符已經刪除了重復數據,所以 DISTINCT 修飾符對結果沒啥影響。

  • ALL: 可選,返回所有結果集,包含重復數據。

 
         

SQL UNION 實例

下面的 SQL 語句從 "Websites" 和 "apps" 表中選取所有不同的country(只有不同的值):

實例

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM