数据库联系

设有如下表结构: 
表名:g_cardapply 
字段(字段名/类型/长度): 
g_applyno     varchar   8//申请单号(关键字) 
g_applydate   bigint   8//申请日期 
g_state     varchar   2//申请状态 
表名:g_cardapplydetail 
字段(字段名/类型/长度): 
g_applyno     varchar   8//申请单号(关键字) 
g_name     varchar   30//申请人姓名 
g_idcard     varchar   18//申请人身份证号 
g_state     varchar   2//申请状态 
其中,两个表的关联字段为申请单号。 
基于以上关系模式完成下列要求的SQL语句:
1.	创建表g_cardapply

CREATE TABLE g_cardapply (
	g_applyno VARCHAR(8) PRIMARY KEY,
	g_applydate  BIGINT(8),
	g_state VARCHAR(2)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

2.	查询身份证号码为440401430103082的申请日期 

SELECT a.g_applydate FROM g_cardapply a,g_cardapplydetail b WHERE a.g_applyno=b.g_applyno AND b.`g_idcard`="440401430103082"

SELECT g_applydate FROM g_cardapply WHERE g_applyno IN(
SELECT g_applyno FROM g_cardapplydetail WHERE g_idcard="440401430103082")

3.	查询同一个身份证号码有两条以上记录的身份证号码及记录个数 

SELECT g_idcard, COUNT(g_applyno) '次数'  FROM g_cardapplydetail GROUP BY g_idcard HAVING COUNT(g_applyno)>1

4.	将身份证号码为440401430103082的记录在两个表中的申请状态均改为07 

UPDATE g_cardapplydetail AS a,g_cardapply AS b SET a.g_state='07',b.g_state='07' WHERE a.g_applyno =b.g_applyno AND g_idcard="440401430103082";

5.	删除g_cardapplydetail表中所有姓李的记录

DELETE FROM g_cardapplydetail WHERE g_name LIKE '李%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值