[英]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.