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,",")&")"