![](/img/trans.png)
[英]Replace empty values as 0 instead of null while joining two tables in sql
[英]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.