2道SQL题目,考考大家。

schol 2006-05-10 02:50:22
4、SQL问答题
SELECT * FROM TABLE

SELECT * FROM TABLE
WHERE NAME LIKE '%%' AND ADDR LIKE '%%'
AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%'
OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )
的检索结果为何不同?



5、SQL问答题
表结构:
1、 表名:g_cardapply
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_applydate bigint 8;//申请日期
g_state varchar 2;//申请状态
2、 表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_name varchar 30;//申请人姓名
g_idcard varchar 18;//申请人身份证号
g_state varchar 2;//申请状态
其中,两个表的关联字段为申请单号。
题目:
1、 查询身份证号码为440401430103082的申请日期
2、 查询同一个身份证号码有两条以上记录的身份证号码及记录个数
3、 将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
4、 删除g_cardapplydetail表中所有姓李的记录
...全文
309 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
schol 2006-05-12
  • 打赏
  • 举报
回复
1.oracle 和 ms sql的写法是不是不一样?

2.将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
这题需要使用事务吗?
  
谢谢大家。
schol 2006-05-12
  • 打赏
  • 举报
回复
呵呵~~这哪是华为的题,华为题有这么简单就好咯。
godfather_wang 2006-05-11
  • 打赏
  • 举报
回复
第一题不同可能因为字段有NULL的
pratte 2006-05-11
  • 打赏
  • 举报
回复
你的问题,已经有人解答了,你看看别人的贴吧
pratte 2006-05-11
  • 打赏
  • 举报
回复
哥们儿,你用华为给毕业生的面试题考大家不太好吧
Hmilyl 2006-05-10
  • 打赏
  • 举报
回复
mark
hyrongg 2006-05-10
  • 打赏
  • 举报
回复
create table g_cardapply(
g_applyno nvarchar(8),
g_applydate bigint,
g_state nvarchar(2)
)

insert into g_cardapply
select 'a001',20050101,'1'
union all
select 'a002',20050202,'2'


create table g_cardapplydetail(
g_applyno nvarchar(8),
g_name nvarchar(30),
g_idcard nvarchar(18),
g_state nvarchar(2)
)

insert into g_cardapplydetail
select 'a001','A','440401430103082','1'
union all
select 'a002','B','440401430103083','2'
union all
select 'a003','B','440401430103083','2'
union all
select 'a004','B','440401430103083','2'

--question1
select a.g_applydate from g_cardapply a
inner join g_cardapplydetail b on a.g_applyno=b.g_applyno
and b.g_idcard='440401430103082'

--question2
select g_idcard,count(1) from g_cardapplydetail
group by g_idcard having count(1)>2

--question3
update g_cardapply set g_state='07' where g_applyno in(
select g_applyno from g_cardapplydetail where g_idcard='440401430103082'
)
update g_cardapplydetail set g_state='07' where g_idcard='440401430103082'

--question4
delete from g_cardapplydetail where g_name like N'李%'

drop table g_cardapply,g_cardapplydetail
losedxyz 2006-05-10
  • 打赏
  • 举报
回复
关注下
schol 2006-05-10
  • 打赏
  • 举报
回复
一题10分,

大家踊跃参加,哈哈
hyrongg 2006-05-10
  • 打赏
  • 举报
回复
第一题不同可能因为字段有NULL的
子陌红尘 2006-05-10
  • 打赏
  • 举报
回复
1、
for example:
------------------------------------------------------------------------
declare @t table(code varchar(20))
insert into @t select null

select * from @t
/*
code
--------------------
NULL

(所影响的行数为 1 行)
*/


select * from @t where code like '%%'
/*
code
--------------------

(所影响的行数为 0 行)
*/

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧