A. 关于sql查询的问题,我有两个表A,B,B是A的子集,都含有字段user,pp,怎么求出其补集
SELECT*
FROM(SELECTuser,pp
FROMA
MINUS
SELECTuser,pp
FROMB)new_table
B. 求sql语句, 按一个关联字段 查询表1在表2中没有的记录 ,表2是表1的子集,想把补集查出来,谢谢!
select t1.id from t1 right outer join t2 on t1.id=t2.id where t2.id=null
C. 如何能够使用sql语句取出符合条件的所有数据来
dim b="2,3,4"
dim Arror
'将b中的数字分别取出
if inStr(b,",")=0 then
Arror(0)=b
else
Arror=split(b,",")
end if
'生成查询条件,这时假定值的字段名为a
dim str=""
For i=0 to UBOUND(Arror)
str=str+"a link '%"+Arror(i)+"%' OR "
Next
'去掉最后一个OR
str=Left(str,Len(str)-3)
'生成SQL,设表名为Table
Dim SQLStr="select * From Table where " +str
以上代码未经调试,另如果库中出现10以上的数字也会有些问题,因为查1时,10也符合条件
D. plsql里面两个集合的合集,差集,交集怎么写
交集是两个集合的公共元素,即两个方程的公共解;
并集是两个集合的元素的总个数(相同的元素只写一次);
差集:如果两个集合有交集,则大集元素中所有不属于小集合的元素的集合是差集,如果没有交集(空集),则A-B=A, B-A=B
E. 求助:sql取两个查询语句的差集
sqlserver是except
select*fromtawherecol1=xxx
except
select*fromtawherecol2=yyy;
oracle是minus
select*fromtawherecol1=xxx
minus
select*fromtawherecol2=yyy;
F. SQL 如何取出数据库中一列的所有值.....
1、首先需要输入名称和密码登陆服务器。
G. sql 查询取差集,需要根据两个字段来确定行
你给的例子太特殊了,可以看成是不同的数字的差,也可以看成是求和后的差。
第一种,同意1楼,用EXCEPT最简洁了
SELECT a, b from a except select a, b from b
第二种按照和来算
SELECT t1.a, SUM(t1.b) - SUM(t2.b)
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a
最好可以对sum(t2.b)做一个null判断,oracle里面就是
SELECT t1.a, NVL(SUM(t1.b), 0) - NVL(SUM(t2.b), 0)
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a
其他sql方言要对null判断作适当转换,类似
SELECT t1.a,
CASE WHEN SUM(t1.b) IS NULL THEN 0 ELSE SUM(t1.b) END
- CASE WHEN SUM(t2.b) IS NULL THEN 0 ELSE SUM(t2.b) END -
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a
H. SQL 语句 两张表中的差集
我这么理解的你看是不是这个意思。
两表数据也都是一样的,主要看剩下的那200条
select * from tab1 where id not in (select id from tab2)
I. SQL语句补集
update 补集 b set 电流 = (SELECT 电流 FROM(select 地区 电流 from 全集 minus select 地区 电流 from c差集 ) a WHERE b.地区= a.地区
写3个就行了,你先试下
J. SQL中如何取出用in查询后的结果集
这个问题你提的不够清楚。建议你还是举个例子比较容易让人明白。
in和exists用法上比较类似:
select * from emp where emp_id in (select emp_id from manager)
select * from emp a where exists (select emp_id from manager where emp_id=a.emp_id)
其实我遇到的情况来看,大多数情况的SQL都可以用另一个改写。个别情况exists没办法用in替换,之前曾遇到一个SQL要表示其他相关表的资料存在状况,想了很久都没有办法用in改写,例子手头没有。
还是讲你的实际问题吧,你发出来,大家想想解决办法吧。