A. sql語句怎樣查詢一個范圍
SQL方法完成數值區間查詢
要求:根據獎金等級表的數值區間,返回獎金對應的等級。
1、鏈接外部數據:數據--現有鏈接--瀏覽更多,在路徑中選擇數據Excel文件和目標工作表,建立數據鏈接。
詳細步驟參考前面所發的SQL相關文章。
2、編寫sql語句。
2.1、使用switch函數,SQL語句為:
select 姓名,獎金,switch(獎金<200,"D級",獎金<300,"C級",獎金<500,"B級",獎金>=500,"A級") as 獎金等級 from [獎金$a1:b11]
switch函數直接判斷數值,若數值小於200,返回D級;數值小於300返回C級;數值小於500,返回B級;餘下的數值條件要變化為>=500返回A級而不是<=700。
2.2、使用iif函數,SQL語句為:
select 姓名,獎金,iif(獎金<200,"D級",iif(獎金<300,"C級",iif(獎金<500,"B級","A級"))) as 獎金等級 from [獎金$a1:b11]
其基本思路和switch函數相同,類似工作表函數if的嵌套。
2.3、使用betweent...and,SQ語句為:
select a.姓名,a.獎金,b.等級 from [獎金$a1:b11] a,[獎金等級$] b where a.獎金 between b.最小值 and b.最大值
以戴蘇明同學為例子,在SQL代碼運行的時候,將戴蘇明同學的獎金一一和獎金等級表中的數值進行對比,符合區間的就返回區間等級。其他同學亦然。
但是,當獎金超出最大值700的時候就會取不到該條數據。
如劉平的獎金701並不在betweent...and的區間內,返回的結果中沒有劉平的數據。
2.4、使用Where比較大小,sql語句為:
select a.姓名,a.獎金,b.等級 from [獎金$a1:b11] a,[獎金等級$] b where a.獎金 >=b.最小值 and a.獎金<=b.最大值
此方法原理和betweent...and一樣,當獎金超過最大值700時,數據將有遺漏(劉平)。
當獎金的最大值為700的時候,以上四種方法都得出同樣的結果。
當獎金最大值超過700的時候,3、4兩個方法將遺漏獎金大於700的數據。
因此,可在設計獎金等級表的時候,可以將最大值700改為一個比較大的數值,使獎金再高也不會超過,則四種方位皆可。
如更改獎金等級表的最大值700為70000,這么大的一個范圍,則四種方法都適用。
B. 篩選數據的SQL語句應該如何寫
select
count(*)
from
表
where
id=?
?改為你傳入的數字就可以了,如果這個語句得到的結果是個>0的值,那說明有存在,否則不存在。
C. asp網頁設計中SQL語句選取某個區間的記錄怎麼編寫
select top 8 * from 表 where 主鍵 not in (select top 1 主鍵 from 表)
在MS SQL中可以這樣:
select top 200 * from TabelA order by MyKey
where MyKey not in
(select top 100 MyKey from TableA order by MyKey)
前面的101-200條記錄就出來了。
D. 在SQL SERVER中當查詢的條件是一個選擇范圍是SQL語句怎麼寫
SQL關鍵字 Between and,<,> 符號
假如聲明表A,有欄位a 類型為int,b 欄位類型為nvarchar
select * from A where a between 1 and 10
也可以使用大小號,SQL 如下:
select * from A where a>=1 and a<=10
以上SQL就可以查詢1-10范圍的數據
下面的SQL 是字元串類型的:
select * from A whereb between 'b1' and 'b10'
E. sql語句怎麼寫!
SELECT 表名.* FROM 表名 WHERE 區域經理="查詢的經理名稱" AND 商品="查詢的商品名稱"
F. 多選擇篩選查詢SQL語句怎麼寫
我做過類似的查詢,就是用字典項表的數據id列,與數據表的字元串列做instr比較,比較時,兩個數據分別在前後加',',防止第一個和最後一個字典項無法查找出來。
舉個例子,數據表
字典表 dict
id name
12 wifi
13 冰箱
14 洗衣機
15 電視
業務表 query_table
id query_str
1 12,13,14,15
2 12,14
3 14,15
SELECT *
FROM dict a,query_table b
WHERE INSTR(CONCAT(CONCAT(',',b.query_str),','), CONCAT(',', CONCAT(a.id,',')))>-0 AND b.id=1
看實際效果
G. SQL語句怎樣查詢一個范圍
SQL語句通過「BETWEEN…AND…」語法來查詢一個范圍。
WHERE子句設置查詢條件,過濾掉不需要的數據行。其范圍運算符「BETWEEN…AND…」表示表達式值是否在指定的范圍內,類似的「NOT BETWEEN…AND…」表示表達式值是否不在指定的范圍內。
例如:SELECT * FROM user WHERE age BETWEEN 10 AND 30,用於查詢出user表中age值介於10~30間的數據記錄。
(7)sql語句選區域的語句怎麼寫擴展閱讀:
SQL中WHERE子句其它運算符:
1、比較運算符
>、>=、=、<、<=、<>
2、列表運算符
IN (項1,項2……)
NOT IN (項1,項2……)
3、模式匹配符
LIKE、NOT LIKE
4、空值判斷符
IS NULL、IS NOT NULL
5、邏輯運算符
NOT、AND、OR
H. SQL語句選取某個區間的記錄怎麼編寫
例如:寫一個SQL語句,取出表S中第21~30記錄(SQL server,以自動增長的ID作為主鍵,ID可能不連續)
方法一:
Select TOp10 * from S
Where ID>(Select MAX(ID) from (Select Top20 ID from S ) as S)
方法二:
select Top10 * from S where ID NOT IN(select Top20 ID from S)
(8)sql語句選區域的語句怎麼寫擴展閱讀
SQL SELECT 語句用於從表中選取數據。
結果被存儲在一個結果表中(稱為結果集)。
SQL SELECT 語法
SELECT 列名稱 FROM 表名稱
以及:
SELECT * FROM 表名稱
注釋:SQL 語句對大小寫不敏感。SELECT 等效於 select。
SQL SELECT 實例:
如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表),請使用類似這樣的 SELECT 語句:
SELECT LastName,FirstName FROM Persons
I. ASP程序中,SQL語句選取某個區間的記錄怎麼編寫
1.連續的幾條記錄
用 between and
2.選擇性的相隔的幾條記錄
用 nsort_id in(5,8,10)
sql="select top 1 * from nsort where nsort_id in(5,8,10) order by nsort_id desc"
J. excel vba的sql語句如何寫數據項在某個范圍的sql語句
arr=Array(1,7,8,12,14)
sql="select*from表名where編號in("&Join(arr,",")&")"