SQL Server 每日一題 解析只逛不買

2021-09-29 09:31:11 字數 865 閱讀 1830

這個題目經常用到的解決方法有兩種,第一種方法是大多數人首先想到的利用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 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格...