利用已存在的表创建另一个表;三表关联查询

利用已存在的表创建另一个表(oracle,mssql,mysql)

//利用已存在的test表来创建 test2表
oracle :
create table test2 as select * from test(创建表结构和里面的数据)

create table test2 as select * from test where 1=2(只创建表结构)
mssql:
select * into customer3 from customer

mysql:
同oracle
create table customer2 as select * from customer


//如果是要生成指定的列名呢请看 (这里只介绍oracle的,语法上掌握以后,原理是一样的)
若只有customer的id和name字段并且在customer2中表结构是(cid,c_name);
那么可以这么写
create table customer2 select id cid,name c_name from customer
可以看出只是指定别名而已 ,mysql中是一样的,mssql2000只是语法不一样,但原理相同

--------------------------------------------------------------------------------
sql复杂查询语句问题求救:列出选修了三门以上课程的学生和课程名.
stuinfo 学生信息表
scourse 课程信息表
examscoure 成绩信息表

select s.stuno, s.stuname, c.courseno,c.name
from stuinfo s, scourse c, examscoure e
where s.stuno = e.stuno
and c.courseno = e.scourcno
and s.stuno IN (SELECT s.stuno
from stuinfo s, examscoure e
where s.stuno = e.stuno
GROUP BY s.stuno
HAVING COUNT(e.stuno) >= 3)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值