in 在sql语句冲,都是写在where条件中。不一定是update语句。update情况的为你举个例子:
update table_a set col_1 = '2' where col_2 in (1,2,3);
语句是:当table_a表中col_2为 1或2或3的时候,将col_1更新为2。
1) in
select from tab where field in ('A', 'B', 'C')
等价于select from tab where field = 'A' or field = 'B' or field = 'C'
2) on永在表连接的时候
select from a inner/left/right join b on axx = bxx
3)with
我用过的就db2里面会用到,作为递归的时候用,不是sql通用关键字,不是那么容易解释的,
百度有解释,很清楚,你自己看看
DB2 with用法
2009-09-24 23:40
1,创建一个表
create table regr (pid integer,id integer, name char(20))
alter table regr alter id set not null add primary key(id)
insert into regr values(-1,1,'library'),(1,2,'news'),(2,3,'world news'),(2,4,'politics'),(2,5,'bussiness'),(2,6,'science'),(2,7,'technology'),(1,8,'sports'),(8,9,'local'),(8,10,'collegiate'),(8,11,'professional'),(9,12,'soccer'),(10,13,'soccer'),(11,14,'soccer'),(9,15,'football'),(10,16,'football'),(11,17,'football')
2,使用with得到数据树
WITH RPL (PID, ID, name) AS
(
SELECT ROOTPID, ROOTID, ROOTName
FROM regr ROOT
WHERE ROOTPID = 8
UNION ALL
SELECT CHILDPID, CHILDID, CHILDName
FROM RPL PARENT, regr CHILD
WHERE PARENTID = CHILDPID
)
SELECT DISTINCT PID, ID, Name
FROM RPL
ORDER BY PID, ID, Name
让我们研究这个查询的组件:
RPL 作为一个具有以下三列的虚拟表:PID、ID 和 name。
WITH 子句内的第一个 SELECT 语句是初始化表。它只执行一次。它的结果形成虚拟表的初始内容以作为递归的种子。在上面的示例中,种子是 PID 为 8 的一行或多行。
第二个 SELECT 语句执行多次。将种子作为输入(JOIN 中的辅助表)传递给第二个 SELECT 语句以产生下一个行集合。将 JOIN 的结果添加(UNION ALL)到虚拟表的当前内容中,并放回到其中以形成用于下一次传递的输入。只要有行产生,这个过程就会继续。
上面的答案好像和楼主的有点出入哦,感觉怪怪的,更新过??
select from product where cid in
(select cid from
category where pid =10 );
解决楼主的问题,直接这样就够了也很好理解
就是先在category表里面得到所有小类的cid,然后和product表连接,输出产品名
不过这里用in是方便理解的,性能上好不好还真不好说
select
from test
where id in (1,2,3)
就是查询id=1 or id=2 or id=3的意思
也有
select
from test1
where id in (select id from test2)
这样的,意思是一样的
我举例说明基本用法吧,lz如果已经有了基础而是要知道更多更深入的知识的话,不需要在知道提问,直接百度里搜索,资料大把大把的,而且不难懂。\x0d\\x0d\表(stu)结构和数据如下:\x0d\id name age height\x0d\1 abby 14 134\x0d\2 amelia 13 128\x0d\3 ken 14 144\x0d\1、in\x0d\select t from stu t where age in (14, 15);\x0d\查询结果是1和3,没有age为15的。\x0d\2、or\x0d\select t from stu t where age = 13 or age = 14;\x0d\得到所有的3条,这是“或”,年龄为13岁或14岁\x0d\3、and\x0d\select t from stu t where age = 13 and name = 'ken';\x0d\没有结果,这是“与”的关系,检索年龄13岁,名字是ken的学生,没有符合条件的。
以上就是关于sql如何用in更改数据全部的内容,包括:sql如何用in更改数据、数据库中 in on,with等关键字的用法及示例,请高手帮忙!!!!!、sql中 in的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)