SQL BETWEEN的用法
IN 这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值,而 BETWEEN 则是让我们可以运用一个范围 (range) 内抓出数据库中的值。BETWEEN这个子句的语法如下:
SELECT "栏位名"
from " 表格名"
WHERE "栏位名" BETWEEN '值一' AND '值二'
这将选出栏位值包含在值一及值二之间的每一笔资料。
举例来说,若我们要由 Store_Information 表格中找出所有介于 January 6, 1999 及 January 10, 1999 中的资料,
Store_Information 表格
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999
我们就打入,
SELECT *
from Store_Information
WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999'
请读者注意:在不同的数据库中,日期的储存法可能会有所不同。在这里我们选择了其中一种储存法。
结果:
store_name
Sales
Date
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999
相关文档:
sql是关系数据库查询语言,面对的数据库;
而hql是Hibernate这样的数据库持久化框架提供的内置查询语言,虽然他们的目的都是为了从数据库查询需要的数据,但sql操作的是数据库表和字段,
而作为面向对象的hql操作的则是持久化类及其属性。
举一个简单的例子
sql语句
select * from tb_goods where id in (select goodsid f ......
以下是经测验能正确运行的:
create table t_emp_log212
(
who varchar2(10) not null,
action varchar2(10) not null,
actime date
);
create or replace trigger tri_emp_insert
before insert
on t_emp
begin
insert into t_emp_log(who,action,actime)values(user,'insert',sysdate);
end ......
假设如下应用:
两张表——用户表TDefUser(userid,address,phone)和消费表TAccConsume(userid,time,amount),需要查消费超过5000的用户记录。
用exists:
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
用i ......