簡體   English   中英

為什么 CASE 語句應該在 select 語句中?

[英]Why should CASE statement be within select statement?

為什么CASE語句應該在SELECT語句中?

為什么第二個查詢不起作用? 我的意思是,為什么CASE語句應該在SELECT語句中?

第一個查詢:

SELECT 
    report_code,
    year, month, day,
    wind_speed,
    CASE 
       WHEN wind_speed >= 40 THEN 'HIGH' 
       WHEN wind_speed >= 30 AND wind_speed < 40 THEN 'MODERATE' 
       ELSE 'LOW' 
    END AS wind_severity
FROM 
    station_data;

第二個查詢:

SELECT 
    report_code,
    year, month, day,
    wind_speed,
FROM 
    station_data
CASE 
   WHEN wind_speed >= 40 THEN 'HIGH' 
   WHEN wind_speed >= 30 AND wind_speed < 40 THEN 'MODERATE' 
   ELSE 'LOW' 
END AS wind_severity;

因為您想要條件(派生)列(所有條件)而不是選擇列本身。 根據 SQL 語法,所有列(按原樣或派生的形式)都應該是 select 語法的一部分。

因為第二個代碼是錯誤的語法 CASE 語句放在 FROM 之后

我們使用 CASE 語句為每一行在列中設置條件。 所以,CASE 語句需要成為 SELECT 的一部分

您的第二個查詢不起作用,因為它的SQL syntax錯誤,並且沒有 RDBMS 支持該語法。

why should CASE statement be within SELECT statement CASE 語句不需要只在 SELECT 語句中。 它也可以在WHERE , ORDER BY , ...

試想一下,有人說I marry school and go to Peninsula ,為什么人們不知道I and Marry go to Peninsula school

您可以學習 SQL 來編寫正確的查詢,或者嘗試使用您自己的不同邏輯和語法創建另一種讓您的查詢工作的查詢語言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM