insert 复合语句和 update 复合语句

有两个表

班级ID班名
1一年级
2二年级
3三年级  

学号学生名班级ID
1aaa1
2bbb2
   

请问我要插入学生,资料显示有:学号、学生名和班名

大概就是这样的思路:insert into student(学号,学生名,班级ID) values('3','ccc',(select 班级ID from class where 班名='三年级'))但是这个是错误的表达。

最后的表达是:insert into student(学号,学生名,班级ID) select '3','ccc',班级ID from class where 班名='三年级'


类似这样的复合语句,但是是update语句的复合语句:update student set 学生名='ddd',班级ID=(select 班名 from class where 班名='二年级') where 学号='2'

类似的例题还有:

1、f_lang(语言表)

l_code(语言简称)l_name(语言名称)
chi汉语
eng英语

2、f_publ(出版社表)

p_code(出版社编号)p_name(出版社名称)
1212清华大学出版社
1313机械工业出版社

3、f_books(图书表)

b_no(流水号)b_name(书名)b_lang(语种简称)b_publ(出版社编号)
1数学chi1313
2网络eng1313

有窗口获得的数据有:

数学
英语
清华大学出版社
(也就是更改了《数学》的“语种”和“出版社”两个字段)

个人开始的思路是:

update f_books set b_name='数学',b_lang=(select l_code from f_lang where l_name='英语'),b_publ=(select p_code from f_publ where p_name='清华大学出版社') where b_no='1'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值