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表中所有姓李的记录
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表中所有姓李的记录
for example:
------------------------------------------------------------------------
declare @t table(code varchar(20))
insert into @t select nullselect * from @t
/*
code
--------------------
NULL(所影响的行数为 1 行)
*/
select * from @t where code like '%%'
/*
code
-------------------- (所影响的行数为 0 行)
*/
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
这题需要使用事务吗?
谢谢大家。