永发信息网

SQL 查找两表中不同的数据

答案:3  悬赏:60  手机版
解决时间 2021-04-03 19:22
SQL 查找两表中不同的数据
最佳答案
--一句SQL就搞定
SELECt * FROM b
EXCEPT
SELECt * FROM a
全部回答
给段代码 使用数据库是vs2005自带的sql express。当然 不同的数据库连接字符串不一样 但是GetDataSet(string sql, string tablename)
方法是通用的~参数sql是你sql查询语句 tablename是输出地表明 可以随便添
public static string ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=数据库文件路径;Integrated Security=True;Connect Timeout=30;User Instance=True";
public DataSet GetDataSet(string sql, string tablename)
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(DataAccess.ConnectionString);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
try
{
da.Fill(ds, tablename);
if (ds.HasChanges()) da.Update(ds);
}
catch (Exception ex)
{
MessageBox.Show("打开数据库表错误:" + ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
finally
{
con.Close();
con.Dispose();
da.Dispose();
}
return ds;
}
使用方法 datagridview1.datasource=GetDataSet("select * from student where name="姚明"","table1") //datagridview1当然是你winfrom里的一个datagridview
方法比较多
我随便举两个例子
假设a表中有一列‘aa’,数据是1,2,3
1,2,4
b表中有一列‘bb’,数据是1,2,3
1,2,4
1,2,5
目的是找出这个1,2,5
其实就是找出唯一值
方法1:写个子查询嵌套
select * from (select a.aa as 'ccc',b.bb as 'bbb'
from a full join b on a.aa = b.bb) c where c.ccc is null or c.bbb is null
这个语句就是找出2张表中的唯一值
方法2:利用union连接再分组having,取得唯一值
select c.aa,count(*) from (select aa from a
union all
select bb from b) c group by c.aa having count(*) = 1
查询出的就是两张表中的唯一值【其实也就是重复次数 = 1的】
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黑猪肉刚买回来,闻着有点臭臭的,是不是坏了
推荐一款2500左右的手机。
听说刷的经验很多?
相外切两个圆的半径分别是5和8,那么它们的圆
此心与东君同意,后不如今今非惜什么意思
宝马7系助力泵高压油管漏油
因为不守诚信惹女朋友生气怎么道歉
如何使用壁挂炉,家里已经安装了壁挂炉,还有
动物物种多样性的基础是A.生态系统多样性B.遗
降龙18掌用英文怎么说哦?!!!
搬新家送红包的祝福语,姐姐考起大学,请客,
“福缘善庆”这个词怎么解释
双流佳兆业8号最近的公园哪一个
苏泊尔电压力锅CYSB50FC12-100代表啥
一昼夜有________小时,钟面上时针正好走____
推荐资讯
加盟肯德基多少钱
写了篇英语作文(16年全国2卷),想找位老师按
关于成人上学。
单选题假如国庆节这天全球天气晴朗,则北京时
用核桃壳,开心果壳,松子壳,这三样东西如何
红河谷现在可以漂流吗
冀州招工的在什么地方
鲜虫草最好怎么吃?
单选题JayChouhas________severalpopularre
今也则亡 读音
金庸的哪部作品写权利令人腐败以及政治斗争的
铜陵哪里有卖假发的史
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?