這個題目經常用到的解決方法有兩種,第一種方法是大多數人首先想到的利用not in或者not exists,第二種方法是利用left join。下面我們來分別看看這兩種方法。
零、解析
not in / not exists
select
distinct customerid from orders
然後將查詢出來的 customerid 作為過濾條件,查詢 customers 表並過濾掉查詢出來的 customerid,這樣就查詢出沒有買過一件東西的會員了。
select name from customers where id notin(
select customerid from orders)
select c.name
from customers as c
where
notexists
(select customerid from orders where c.id = customerid
);
left join
利用 left join 去除 null 值的功能也可以的,這種方法相比上面的方法要相對簡單快捷。
select c.name
from customers as c
left
join orders as o
on c.id = o.customerid
where o.id is
null
;
SQL Server 每日一題 老二解析
這道題的解題思路有很多種,我在這裡就講講常用的兩種,乙個是利用 row number 乙個是裡用排除法。零 利用 row number 思路是這樣的,首先去除資料中相同的工資,然後將工資從大到小排序,接著利用row number函式給每行資料加上行號,最後過濾出行號為2的工資。如下 select n...
SQL Server 每日一題 老二解析
這道題的解題思路有很多種,我在這裡就講講常用的兩種,乙個是利用 row number 乙個是裡用排除法。零 利用 row number 思路是這樣的,首先去除資料中相同的工資,然後將工資從大到小排序,接著利用row number函式給每行資料加上行號,最後過濾出行號為2的工資。如下 select n...
acwing寒假每日一題題解
貨倉選址 頭兩天的每日一題有點水 include using namespace std int s 505 505 int i,j intmain void 語法題蛇形添數 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格...