永发信息网

SQL 查找两表中不同的数据

答案:3  悬赏:60  手机版
解决时间 2021-04-03 19:22
  • 提问者网友:杀手的诗
  • 2021-04-03 12:36
SQL 查找两表中不同的数据
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-03 13:49
--一句SQL就搞定
SELECt * FROM b
EXCEPT
SELECt * FROM a
全部回答
  • 1楼网友:轮獄道
  • 2021-04-03 14:58
给段代码 使用数据库是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
  • 2楼网友:痴妹与他
  • 2021-04-03 14:35
方法比较多
我随便举两个例子
假设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的】
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯