⑴ 数据库作业!!!根据下面的描述和ER图,写出下面的查询语句
1. 显示所有俱乐部的编号、名雹扒肢称及成立的年数。
SELECT 俱乐部编号,俱乐部名称,DATEDIFF(FROMDATE ,DEALDATE) FROM 俱乐部
查找07级的会员记录,显示他们的俱乐部编号、俱乐部名称、学号、姓名、所在系,结果按俱乐部编号、学号排序。(假设学号以“2007”打头表示是2007级的学生)
SELECT * FORM 俱乐部,学源世生表 WHERE 学号 LIKE ‘2007%’
俱乐部.姓名=学生.姓名
GROUP BY 俱乐部编号,学号
求各系学生的平均入学年龄,列出所在系、人数。
SELECT 系,sum(*) ,avg(l年龄)FORM 学生表 WHERE 系=‘*’
查询人数多于100 人的俱乐部的俱乐部名称、人数。
SELECT 名称,sum(俱乐部名称 )from 俱乐部 where sum(俱乐部0>100
5. 用两种方法(连接/嵌套……)查询足球俱乐部的会员名单。
这个时间原因,不写了,应该简单!
6. 建立足球俱乐部的查询视图(属性至少包括学号、姓名、入会日期等)。
CREATE VIEW football-view
AS
SELECT 足球俱乐部,学号 ,姓名,入会日期
FROM
学生入会登记
GROUP BY 学号
7. 查询与“李丽”在同一个此正系的学生记录。
SELECT 所在系 FROM 学生表
WHERE 所在系=(SELECT 所在写 FROM 学生表 WHERE name=李丽 )
8. 查询计算机系与数学系同名的同学。
我自己也糊涂这道!
将查询学生入会登记表的权限授予所有用户。
GRANT SELECT TO
USER
本题不能保证正确!
10. 插入单条记录。在学生表中插入一条新入学的学生记录,学号“070401011”,姓名“王冰冰”,男,16岁,计算机系。
INSERT INTO 学生表(学号,姓名,性别,入学年龄,所在系)
VALUES (070401011,王冰冰”,男,16岁,计算机系)
11. 插入一批记录(子查询)。假设外语系的学生同时加入网络俱乐部,请将他们的记录插入到学生入会登记表中,入会日期填写当日系统日期。提示:注意子查询的字段列表应与学生入会登记表的字段顺序、数量、类型吻合。
这道题我也脑袋糊了
12. 修改单个记录的数据。将学号为“050401004”的同学姓名更改为“钱小云”。
UPDATE 学生入会登记表 SET name= 钱小云
WHERE 学号= ‘050401004’
13. 修改表结构,再批量修改记录的数据。先使用命令ALTER TABLE在“俱乐部”表中增加“会费”一列,然后用UPDATE命令将该表中所有俱乐部会费置为10.00(表示10元)。
1 ALTER TABLE 俱乐部 ADD 会费;
2 UPDATE 俱乐部 SET 会费=10.00
14. 删除单个记录。删除名为“王冰冰”的学生记录。
DELETER FROM 学生表 WHERE name =‘王冰冰’
15. 删除一批记录。将所有02级的学生从学生入会登记表中删除。
DELETER FROM 学生入会登记表 WHERE 学号 LIKE '2002%'
声明:以上书写可能乱,个人才疏学浅,有几道也询问过同学.不能保证正确哦,上数据库的课老师也逮得严。实在的话是:这个大学还是没学到多少啊.我郁闷了一下午。加油。514886311qq,多多指教哦!
⑵ sql数据查询练习
--1.1创建新表 score
create table score
(
[学号] varchar(10)
,[课程号] varchar(10)
,[成绩] float
)
--1.2插入新表的值
insert into score values(103,'3-245',86)
insert into score values(105,'3-245',75)
insert into score values(109,'3-245',68)
insert into score values(103,'3-105',92)
insert into score values(105,'3-105',88)
insert into score values(109,'3-105',76)
insert into score values(101,'3-105',64)
insert into score values(101,'3-105',64)
insert into score values(101,'6-166',85)
insert into score values(107,'6-166',79)
insert into score values(108,'6-166',81)
--1.3 按排列顺序查看创建的表的内容
select* from score order by [课程号] asc,[成绩] desc --这样查看不舒服,可以修改下,如下面这句:
select [课程号],[成绩],[学号] from score order by [课程号] asc,[成绩] desc
--1.4
select y=sum([成绩]) --查找3-105 的分数之和,问题6-166的总分也是这个道理
, x=count([课程号]) from score where [课程号]='3-105'--查找3-105的课程个数
--计算平均分
select [3-105平均分]=y/x from(select y=sum([成绩])
, x=count([课程号]) from score where [课程号]='3-105')t
--1.5 查询成绩为定值的记录
select * from score where [成绩]='85' or [成绩]='86' or [成绩]='88'
--这里用and 的话没法查出内容,
--1.6 成绩在多少到多少的记录
select * from score where [成绩] between 60 and 79 order by [成绩] desc
--1.7查询每个学生的最高分
select * from score where [成绩] in(select max([成绩]) from score group by [学号])
--1.8课程最高分
select * from score where [成绩] in(select max([成绩]) from score group by [课程号])
--各门课程最高分大于90的就是在上面的内容上增加一个where 条件,自己尝试下
select * from(select * from score where [成绩] in(select max([成绩]) from score group by [课程号]))t
where [成绩]>=90
--注意数据库别名的用法't'
--1.9弟九个问题跳过,扯蛋的问题
--2.0课程次数及排序
select [课程号],[课程次数]=count([课程号]) from score group by [课程号] order by 课程次数 desc
--注意数据库自定义字段的使用
--升序 asc ,降序 desc
--2.1最后一个问题你自己考虑考虑,方法基本都在前面几个问题里面可以找到。
⑶ sql简单查询语句
1、首先打开数据库,建立好表。
⑷ 关于sql数据库的查询语句
13.查询电话号码以4或7或8结尾 的学生的学号,姓名,性别,年龄,电话,需按电话(倒序)排序。
select snum,sname,ssex,ssage,Sphone from 学生 where sphone like '%4' or sphone like '%7' or sphone like '%8'
ORDER BY Sphone DESC
14.查询数学系姓刘的学生所有信息(包含所有列)。
SELECT *
FROM sys.tables
where Sname like '刘%' and dname='数学系'
15.查询年龄在20与23(含20,23)之间的男学生纳简戚姓名,课程名及其平均成绩。
select sname,cname,avg(SCORE) from 学生,课程,选课 where Ssage between 20 and 23 and Ssex='男'
16.从学生表和选课表2个表中,查询选修表所有的学生学号,咐行姓名、所修课程号及成绩。
select选课.Snum,sname,cnum,score
from 选课 LEFT OUTER join 学生
on 选课.Snum=学生.Snum
17.从学生表和选课表2个表中,查询所有学生(学生表所有的学生)姓名、学生性别,所修课程名及成绩,按课程,成绩(倒序)排列。
select sname,Ssex,cnum,score
from 学生 LEFT OUTER join 选课
on 学生.Snum=选课.Snum
ORDER BY score DESC
18.查询每个老师姓名,其所教课程,及该门课程名的平均成绩,最小成绩,最大成绩。
SELECT Tname, Cname,,AVG(score),max(score),min(score)
FROM 教师,课程,选课
19.查询所教课程成绩平均成绩低于80分的老师号,姓名,其所教课程号,课程名,及该门课程的平均成绩洞陵。
select Tnum,Tname,CNUM,CNMAE,AVG(score)
from 授课,教师,课程,选课
group by Tnum
having AVG(score)<80
20.查询所有学生的学号,姓名、性别,课程号,所修课程及成绩(可能没有选修课程)。
SELECT 学生.Snum,学生.Sname,SSEX,课程.Cnum,课程.Cname,选课.Score
FROM 课程 INNER JOIN
选课 ON课程.Cnum =选课.Cnum INNER JOIN
学生 ON选课.Snum =学生.Snum
21.按照性别统计学生性别,最大岁数,最小岁数,平均岁数。
select ssex,MAX(ssage),MIN(ssage),AVG(ssage) from 学生
group by SSEX
⑸ 数据库的查询语句作业二
1、select * from 读者信息表
2、select * from 借书表 where 编号='2002060328'
3、select * from 图书信息表 where 书名 like '程序设计'
4、select * from 图书信息表 where 出版社='清华大学出版社' order by 单价
希望对你有帮助
⑹ SQL数据库语句查询
一、
简单查询
简单的transact-sql查询只包括选择列表、from子句和where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
select
nickname,email
from
testtable
where
name='张三'
(一)
选择列表
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示testtable表中所有列的数据:
select
*
from
testtable
2、选择部分列并指定它们的显示次序
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
例如:
select
nickname,email
from
testtable
3、更改列标题
在选择列表中,可重新指定列标题。定义格式为:
列标题=列名
列名
列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:
select
昵称=nickname,电子邮件=email
from
testtable
4、删除重复行
select语句中使用all或distinct选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为all。使用distinct选项时,对于所有重复的数据行在select返回的结果集合中只保留一行。
5、限制返回的行数
使用top
n
[percent]选项限制返回的数据行数,top
n说明返回n行,而top
n
percent时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。
例如:
select
top
2
*from
testtable
select
top
20
percent
*
from
testtable
(二)from子句
from子句指定select语句查询及与查询相关的表或视图。在from子句中最多可指定256个表或视图,它们之间用逗号分隔。
在from子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:
select
username,citytable.cityid
from
usertable,citytable
where
usertable.
本篇文章来源于
黑软基地-中国最大的黑客教程计算机安全教程下载基地
原文链接:
http://www.hackvip.com/article/sort056/sort058/kkkcc.com-2297.html
⑺ 数据库基础-SQL查询语句8条,帮忙写下。
1
select deptno,max(salary) from dbo.emp
2
select b.ename,a.dname,b.salary
from dbo.dept a inner join dbo.emp b on a.deptno=b.deptno
3
select b.ename,a.dname,b.salary
from dbo.dept a left join dbo.emp b on a.deptno=b.deptno
4
select b.ename,b.salary
from dbo.dept a inner join dbo.emp b on a.deptno=b.deptno and a.dname='开发部'
5
select a.ename,a.salary,b.ename,b.salary
from dbo.emp a left join dbo.emp b on a.mgr=b.empno
6
select esex,count(*) from dbo.emp group by esex
7
select * from dbo.emp where deptno between 2 and 4 union all
select * from dbo.emp where empno between 2 and 8
8
select empno,ename,deptno,salary into newemp from dbo.emp