簡體   English   中英

SQL - 連接表后排除 Null 個值

[英]SQL - Excluding Null Values after Joining Tables

我是編程和學習 SQL 的新手。我試圖在 ORDER BY ... DESC 之后排除 NULL 值。 你能幫忙解決這個問題嗎? 也不確定我是否應該使用 WHERE 或 HAVING,

-- Which director has the highest total domestic takings
SELECT d.first_name, d.last_name, SUM(mr.domestic_takings) AS total_dom_takings
FROM directors d
-- *** WHERE/HAVING mr.domestic_takings IS NOT NULL ***
JOIN movies mo ON d.director_id = mo.director_id
JOIN movie_revenues mr ON mo.movie_id = mr.movie_id
GROUP BY d.first_name, d.last_name
ORDER BY total_dom_takings DESC;

嘗試在 JOIN 之后編寫 WHERE 子句:

SELECT d.first_name, d.last_name, SUM(mr.domestic_takings) AS total_dom_takings
FROM directors d
JOIN movies mo ON d.director_id = mo.director_id
JOIN movie_revenues mr ON mo.movie_id = mr.movie_id
WHERE mr.domestic_takings IS NOT NULL
GROUP BY d.first_name, d.last_name
ORDER BY total_dom_takings DESC;

您可以完全省略WHERE子句。

大多數聚合函數,其中sum ,無論如何都會忽略 NULL arguments 。

暫無
暫無

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

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