主题:[讨论]大家看看我写的sql语句有没有问题?
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表中所有姓李的记录
我的答案:
1.select g_applydate from g_cardapply,g_cardapplydetail where g_cardapplydetail.g_applyno=g_cardapply.g_applyno and
g_idcard='440401430103082';
2.select g_idcard,count(g_idcard) from g_cardapplydetail group by g_idcard having count(g_idcard)>2;
3.update g_cardapplydetail set g_state='07' where g_idcard='440401430103082';
update 440401430103082 set g_state='07' where g_applyno in(select g_applyno from g_cardapply where
g_idcard='440401430103082');
4.delete from g_cardapplydetail where g_name like '李%';
有错误的地方请赐教!
表结构:
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表中所有姓李的记录
我的答案:
1.select g_applydate from g_cardapply,g_cardapplydetail where g_cardapplydetail.g_applyno=g_cardapply.g_applyno and
g_idcard='440401430103082';
2.select g_idcard,count(g_idcard) from g_cardapplydetail group by g_idcard having count(g_idcard)>2;
3.update g_cardapplydetail set g_state='07' where g_idcard='440401430103082';
update 440401430103082 set g_state='07' where g_applyno in(select g_applyno from g_cardapply where
g_idcard='440401430103082');
4.delete from g_cardapplydetail where g_name like '李%';
有错误的地方请赐教!