1. sql数据库 查询每个学生的总成绩,结果包括学号和总成绩两个字段。
你可以把数据表再修改下.
把借阅表里再加个默认的字段(书的数量先默认为0)
在借书的时候edit这个数量或+1.如果是多选,就for循环选种书的总数量再去修改.
时间可以获取服务器时间.
2. 数据库查询 查询“001”课程比“002”课程成绩高的所有学生的学号
分析如下:
--1selectSC1.S#fromSCSC1JOINSCSC2ONSC1.S#=SC2.S#
WHERESC1.C#='001'ANDSC2.C#='002'ANDSC1.score>SC2.score
--2selectS#,AVG(score)
平均成绩fromSCgroupbyS#
havingAVG(score)>60--3selectStudent.S#,
Sname,COUNT(*)选课数,SUM(score)总成绩
fromStudentJOINSConStudent.S#=SC.S#
groupbyStudent.S#,Sname
(2)数据库查询所有学生的学号成绩扩展阅读:
数据库操作的注意事项
1、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null
最好不要给数据库留NULL,尽可能的使用NOT NULL填充数据库.
备注、描述、评论之类的可以设置为NULL,其他的,最好不要使用NULL。
不要以为NULL不需要空间,比如:char(100)型,在字段建立时,空间就固定了,不管是否插入值(NULL也包含在内),都是占用100个字符的空间的,如果是varchar这样的变长字段,null不占用空间。
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num = 0
3、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。
4、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or Name = 'admin'
可以这样查询:
select id from t where num = 10
union all
select id from t where Name = 'admin'
5、in 和 not in 也要慎用,否则会导致全表扫描,如:select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:select id from t where num between 1 and 3
很多时候用exists 代替 in是一个好的选择:select num from a where num in(select num from b)
用下面的语句替换:select num from a where exists(select 1 from b where num=a.num)
6、下面的查询也将导致全表扫描:select id from t where name like ‘%abc%’
若要提高效率,可以考虑全文检索。
7、如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。
3. 用select语句, 查询‘数据库开发技术’课程所有学生的学号及成绩
select
from
表格名
where
ID
=
“x”;
其中x是Name的ID,表格里面的ID,然后使用空间就可以读取了
4. 若学生表中存储了学号、姓名、成绩等字段,则“查询所有学生的姓名和成绩”的SQL语句是__________。
假设学生表名称为student,姓名字段名称是name,成绩的字段名称是score。
那么“查询所有学生的姓名和成绩”的SQL语句如下:
select student.name,student.score from student;
下面我们在SQL练习网站上测试一下我们的结果,首先进入测试网站SQL Fiddle
然后新建SQL表,最后写入执行语句。
(4)数据库查询所有学生的学号成绩扩展阅读:
SQL SELECT 语法
SELECT 列名称 FROM 表名称
以及:SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons
5. 有学生表(学号,姓名,班级,总成绩),要得到每个同学的学号和总成绩,则SQL查询语句是
SELECT 学号,总成绩 FROM 学生表;
每个词之间有空格 ,注意逗号。
6. 请帮忙写出下列SQL语句的步骤: 1.查询成绩表的所有成绩 2.查询学生的学号,姓名和年龄 (接着在下面)
你表的字段和表的关系都没给....
只能认为表里面有所有的字段了...
1 select * from 成绩表
2 select 学号,姓名,年龄 from 学生信息表
3 select 学号,姓名,课程名,成绩 from 选课表
4 select * from 学生信息表 where 姓名 like '张%'
5 select top 4 * from 学生信息表 where 学号 like '9952%'
6 select count(*) as 男生人数 from 学生信息表 where 性别='男'
7 select * form 学生信息表 where 性别='女' and 党员='是'
8 select 学号 from 成绩表 where 成绩>80 and 成绩<90
9 select 学号,姓名 from 成绩表 where 成绩<60
PS:这题,如果姓名不在成绩表中的话应该是:
select 学号,姓名 from 成绩表,学生信息表 where 成绩表.学号=学生信息表.学号 and 成绩表.成绩<60
10 select 学号,姓名,性别 from 学生信息表 order by 学号 desc
这里我把"学生表"写成"学生信息表",是为了看着更清楚
如果要改的话,自己看着改
7. SQL查询所有学生的学号,姓名和性别,做完了我给高分
给我每个表的结构和关联关联,我给你做,保证99.99999%满分
8. 5.用SQL命令查询所有学生的学号、姓名、总成绩、平均成绩。
## 简介
数据库在查询上的sql 语句 基本是没有差异的,
## 工具
mysql 数据库,windowds 7
## 步骤
1.打开mysql数据库,点击新增查询
2.selectno,name,totalScore,avgScorefromScoreTable;