SQL刷題 查詢返回符合條件的結果

2021-10-11 02:44:25 字數 1837 閱讀 5416

方法一:使用where子句和or邏輯判斷

根據定義,滿足下面的其中乙個條件:

條件1:面積超過300萬

條件2:人口超過2500萬

先使用下面語句獲得滿足條件1的大國家:

select name, population, area from world where area >

3000000

;

然後使用下面的語句獲得滿足條件2的國家

select name, population, area from world where population >

25000000

;

使用or語句將子查詢的結果合併在一起

select name, population, area from world where area >

3000000

or population >

2500000

;

這個方法思路和第乙個一樣,但是需要使用uniion連線子查詢結果

select name, population, area from world where area >

3000000

union

select name, population, area from world where population >

25000000

;

雖然第二個方法的執行速度更加快,但是沒有太大的差別

union操作符

union操作符是用於合併兩個或者多個select語句的結果集合,但是要注意,union內部的每個select語句必須擁有相同數量的列,列也必須擁有相似的資料型別,同時每個select語句中的列的順序必須相同。

union的語法

這個操作符預設是選取不同的值,如果允許重複的值,請使用union all

union all語法

union結果集合中的列名總是等於union中的第乙個select語句中的列名

拓展:如果上訴結果和where子句結合

例子:如果想要選取所有中國(cn)的資料(也會包含重複的值):

參考連線:

SQL每日刷題 條件判斷

給定乙個 salary 表,如下所示,有 m 男性 和 f 女性 的值。交換所有的 f 和 m 值 例如,將所有 f 值更改為 m,反之亦然 要求只使用乙個更新 update 語句,並且沒有中間的臨時表。注意,您必只能寫乙個 update 語句,請不要編寫任何 select 語句。例如 idname...

linux查詢符合條件的檔案並刪除

找到根目錄下所有的以test開頭的檔案並把查詢結果當做引數傳給rm rf命令進行刪除 1 find name test xargs rm rf 2 find name test exec rm rf 3 rm rf find name test 如果想指定遞迴深度,可以這樣 1 find maxde...

linux查詢符合條件的檔案並刪除

找到根目錄下所有的以test開頭的檔案並把查詢結果當做引數傳給rm rf命令進行刪除 1 find name test xargs rm rf 2 find name test exec rm rf 3 rm rf find name test 如果想指定遞迴深度,可以這樣 1 find maxde...