如何查询出一个表中的其中一个字段的值在另一个表中不存在的记录

问题描述

有两个表:create table a( id VARCHAR(255) PRIMARY KEY, name CHAR(50));create table b( id VARCHAR(255) referrence foreign key a(id), name CHAR(50))问:如何查询出表a中id列的值在表b中不存在的记录.目前我能想到的方法是:SELECT *FROM ( SELECT a.*, b.id _id FROM a LEFT JOIN b WHERE a.id = b.id ) tWHERE t._id IS NULL;有没有人能想到更好一点的方法? 请指教! 另外,我用的数据库是DB2. 问题补充:kxys422834 写道

解决方案

select * from a A where not exists ( select 1 from b B where A.id = B.id);效率应该比你的高
解决方案二:
DB2差集运算:EXCEPT、EXCEPT ALL -- 求差集:A减BSELECT * FROM A -- 集合AEXCEPT SELECT * FROM B;-- 集合B
解决方案三:
select * from a A where a.id not in( select b.id from b B )
解决方案四:
你欺负人吧。还能简单?都用了左连了。

时间: 2024-08-30 03:33:47

如何查询出一个表中的其中一个字段的值在另一个表中不存在的记录的相关文章

c++-//编写一个程序,最多将10个donation值读入到一个double数组中。

问题描述 //编写一个程序,最多将10个donation值读入到一个double数组中. #include int main() { using namespace std; int donation; double average; int sum; int c,i; for(i=1;i<=10;i++) { while(isdigit(donation)) cout<<"Enter "< cin>>donation[i]; sum+=donati

我在C#后台中获取了数据库表中我需要的字段的值(是以string的类型取出来的),然后我已经将这些值进行了操作,得到了新的数据(string类型)将得到的新数据

问题描述 我在C#后台中获取了数据库表中我需要的字段的值(是以string的类型取出来的),然后我已经将这些值进行了操作,得到了新的数据(string类型)将得到的新数据插入到数据库中怎么做(要用存储过程做),求大神指教,最好能给我点代码参考. 解决方案 解决方案二:...数据库基础insert和update解决方案三:不就是普通的插入更新操作吗,msdn上都有示例代码解决方案四:参考实例:intid=0;//使用存储过程实现添加数据//proc_AddUser为存储过程名称using(SqlC

package-怎么在SQL语句中对抽出的字段的值进行判断?

问题描述 怎么在SQL语句中对抽出的字段的值进行判断? 要求是这样的,举个例子** SELECT A,B,C FROM TAB1 , 要求如果A的值为0的话就显示为空,请问怎么加判断啊?在哪里加呢? 解决方案 我已经写出来了,谢谢各位,还是跟大家分享一下 SELECT DECODE(A,'0','') AS A ,B AS B,C AS C FROM(SELECT A,B,C,D FROM TAB1) 解决方案二: SELECT case A when 0 then "" else c

Struts2自定义标签2自定义一个按班级id查询出该班级下的学生,存放进值栈,并遍历出来。

Struts2自定义标签的流程概念: (1)需要两个类:标签类(继承相应的tag类),基本类(继承Component).标签类专门负责从客户端取得用户输入的一些属性,这个普通的jsp自定义标签一样,取出来以后,需要把取出的属性值赋给基本类.从而可以看到基本类里面的属性也跟tag里面差不多. (2)tag类里面,需要定义你客户端传来的属性.私有化.并相应的set get.  必须的两个方法是public Component getBean(ValueStack stack,HttpServletR

jsp中根据下拉菜单的值进行查询

问题描述 jsp中根据下拉菜单的值进行查询 当选择一个起点时,如何获得起点编号,求帮助 这是数据库中的表 解决方案 可以给下拉列表添加一个点击事件,把当前对象的ID传给后台查询出起点的编号,然后显示在对应的起点编号的input中 解决方案二: 请问可以说的详细一点吗,代码可以帮我写一下吗,,不太懂 解决方案三: 生成jsp时,将你的数据库表中的ID和下拉列表的选项对应起来,为每个对应的项赋予一个_id属性,这样生成的html就如下所示: <select id="mySelect"

在Access 2007表中添加和删除字段

在创建Access2007表之后,有时需要修改表的设计,在表中增加或删除字段.在Access2007中,可以在"设计"视图和"数据表"中添加或删除字段. 一.在"设计"视图中添加或删除字段 在"设计"视图中添加或删除字段的操作步骤如下: (1)在"教学管理"数据库中,打开"学生"表并切换到设计视图.添加一个"出生日期"字段,选中"系别"字段行. (

查询循环问题-SQL如何查询出指定期间的日期范围???

问题描述 SQL如何查询出指定期间的日期范围??? 如上图是原始数据表,表明为t_Perioddate ,希望能输入FYear和FPeriod的值后,能找出当年的FPeriod之前,FPeriod,FPeriod+1,FPeriod+2,FPeriod+3和FPeriod+3之后的日期范围,若FPeriod+n大于12时,则FYear+1,且FPeriod也从1开始. 例如:我输入FYear=2015和FPeriod=9,则显示的结果(插入一个新表)为,如下图

asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑

问题描述 asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑 asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑 解决方案 你是要某个字段显示在8行8列的表格中还是说读取数据出来之后是个8行8列的表格,然后显示进去? 可以直接用GRIDVIEW,或者直接用html拼接,至于修改,gridview有自带的commond方法 解决方案二: 数据库有64条记录,把64个记录中的score字段的值全部显示在表

oracle-如何将A表中的字段一的值赋值给B表中的字段一

问题描述 如何将A表中的字段一的值赋值给B表中的字段一 这是我编写的的 UPDATE poc.zjqx p SET (p.as_of_date) = ( SELECT (o.as_of_date) FROM poc.scqx o WHERE p.as_of_date = o.as_of_date 可是没有通过,该怎么搞,求指教 解决方案 oracle 如何将一个表的某个字段赋值给另一张表的某个字段将A表中某个字段的值赋给B表某个字段SQl 将A表中的字段Name的值更新到B表中 解决方案二: u