jclj.net
当前位置:首页 >> SQL中,如何查询存在一个表的字段而不在另一个表的字段中的数据记录? >>

SQL中,如何查询存在一个表的字段而不在另一个表的字段中的数据记录?

select *from card where username not in(select username from user)

首先,在SQL中(以SQL Server为例),查询存在一个表而不在另一个表中的数据记录的方法有很多,介绍其中4种:1、方法一(仅适用单个字段):使用 not in ,比较容易理解,缺点是效率低 如:select A.ID from A where A.ID not in (select

select top 1 *from tb2where id not in (select [index] from tb1)order by id

SELECT * FROM 表A WHERE 字段A IN (SELECT 字段B FROM 表B)

方法一 使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~1 select distinct A.ID from A where A.ID not in (select ID from B)方法二 使用 left joinon , "B.ID isnull" 表示左连接之后在B.ID 字段为 null的记录 ~执行时间:0.739秒~1 select A.ID from A left join B on A.ID=B.ID where B.ID is null 图解

试试这个 update a2 a set a.d011=(select sum(d019) from a2 b group by tablrela) where a.tablrela=b.tablrela

查询含一个'已知字段名'的表名 select a.name from sysobjects a,syscolumns b where a.id=b.id and b.name='已知字段'

select b.*,a.name from b,a where b.namelist=a.name(+) 如果a里没有b中的值,那它就会以空来出现;或者 select a.令狐冲 from (select a.* from a,b where a.name=b.namelist) -----因为没有外关联,如果B里没有A里的字段,那这个语句查询出来就会是空的,如果有,那就会出现记录

select * from a t1where not exists( select 1 from a t2 where t2.id=t1.parent_id)

描述再详细些,这两个表的字段是否以知,确定,如果能确定是哪连个字段可用如下sqlselect * from table1 where exists (select 1 from table2 where table1.columa like '%' || table2.columb || '%')如果不确定想要所有匹配,那就写存储过程吧

网站首页 | 网站地图
All rights reserved Powered by www.jclj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com