读书人

面试.net软件工程师碰到的SQL笔试题

发布时间: 2012-10-18 13:46:55 作者: rapoo

面试.net程序员,碰到的SQL笔试题,望大神指导~!
对两个结构完全相同的表进行操作,都包含字段ID,Name,Department
1.查找出表一,表二中都有的记录。
小弟写的语句为select * from T_one join T_tow on T_one.Name=T_tow.Name and T_one.Department=T_tow.Department望大神指导。

2.查找出表1中有,表二中没有的全部记录。
select * from T_one where Name1 not in(select Name1 from T_tow)

3.删除表1中有而表二中没有的全部记录。
delete from T_one where ID in (select ID from T_one where Name1 not in(select Name1 from T_tow))

面试的经理说基础薄弱
忘大神指导,我现在大四,还需要学习很多,希望交志同道合之士共同学习。


[解决办法]
应该是想考exists,not exists的用法吧
[解决办法]
不知道他为什么说你基础薄弱,打击成分较大
[解决办法]
要我说,你基础确实薄弱,几个问题你再分析分析?

以SQL SERVER为例,没写SQL语句,自己琢磨
1.找出2张表都有的记录,说明是交集,怎样写最好?

SQL code
用关键字 intersect
[解决办法]
探讨
引用:
1.查找出表一,表二中都有的记录。
小弟写的语句为select * from T_one join T_tow on T_one.Name=T_tow.Name and T_one.Department=T_tow.Department望大神指导。


使用inner join~

SQL code

select * from T_one A inner j……

[解决办法]
如果两个表中的ID均为自增列,那么

1. 查找出表一,表二中都有的记录
SQL code
select * from T_one A inner join T_tow  B on A.Name= B.Name and A.Department = B.Department 

读书人网 >.NET

热点推荐