请求解题 要求用SQL语句完成下列题目

请求解题 要求用SQL语句完成下列题目,第1张

按图中问题和需求,以下会使用mysql环境的sql进行解答。

第一题: 考察主键和外键的创建表语句,以及基本的创建语句格式。这里提供两种,其余可以查阅相关资料。

第一题方法1

第一题方法2

第二题: 简单的条件查询语句,使用SELECT语句

第二题

第三题: 简单的删除语句,使用DELETE语句

第三题

第四题: 简单的更新语句,使用UPDATE 语句

第五题: 考察mysql用户表查询和授权,使用GRANT语句

首先我们需要查看user1用户的host,这里的host字段,可以限制用户访问数据库的ip地址,详细自行查阅资料。可以使用如下语句

mysql 用户host查询

假设user1 的 host 是 %,修改授权一般为增删改查,因此语句如下

mysql 单表权限

第六题: 索引涉及表结构修改,使用 ALTER 语句

mysql 添加索引

第七题:关联查询

choice表是学生与岗位的关联关系,一对多或者多对一即多个学生在一个岗位,或者一个学生在多个岗位,那么先把这几张表关联查询一下。

关联查询结果

然后使用group by分组函数和having聚合函数进行过滤。

岗位数大于等于3的学生信息

第八题: 简单的数据插入语句格式,INSERT INTO语句有多种写法,不声明字段,声明部分字段对应值,同时添加多条,详细还请自行查阅资料。

mysql 插入数据

student 表学生号应该是自增的,应该有序列,假设序列为SEQ_Student

1、insert into student(seq_student.nextval,'婷婷',20,'女')

2、update student set Sage=18 where S#='001'

3、delete from student where s#='002'

4、alter table student modify sage varchar2(30) default '18' NOT NULL

5、select s#,sum(score) from sc group by s# having sum(score)<180

6、(我理解是考试0分的的课程)select s#,c# from sc where score=0

7、select * from teacher where t# in(select t# from coures where cname in('英语','数学'))

8、这个问题要分解一下,首先查出小名的学号,再通过小明的学号去查询他的课程

语句如下:select cname from course where s# =(select s# from student where sname='小明')这样查是有前提条件的,这个班上只有一个叫‘小明’的同学,如果有多个‘小明’同学,那么要用where s# in(select s# from student where sname='小明')

上面已经把小明学的课程查询出来了,下面就要查询学了这些课程的学生姓名。

那么语句就是下面的,注意一下括号对齐,我没数。

select sname from student where s# in(select s# from sc where cname in(

select cname from course where s# =(select s# from student where sname='小明'))

上面的回答,我是看你图片 想象的 没有实际的表测试。注意一下多表查询括号对齐,我没有数过。

多表子查询的解题步骤总结起来就是“先主查询,后子查询”,细化就是下面三步骤:

1)分清主表和子表+两表的连接条件【放在括号里面的表就是主表,括号外面的表就是子表】

2)写出主查询 select * from 主表 where 连接字段 in () 【括号是子查询占位符】

3) 写出主查询括号里面的子查询(关键点,得到子查询的所求目标:将题目的结果字段替换成连接字段即可)

正在看黑马程序员软件测试的学习视频,你也可以看下,这些知识都有教的,抽时间就能学!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8677037.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存