当前位置:首页 » 编程语言 » sql查询练习题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询练习题

发布时间: 2022-07-21 09:40:48

‘壹’ sql SEVER的练习题

insert into student values (95019,'于兵','男',18)
select * from student where (专业='计算机')and 姓名 like '张%'
select count(学号) from student
select count(学号) from student where 选修门数>3
select 学号,姓名 from student where 科目='数据库'and 成绩>80 order by 学号
select 学号,姓名 from student group by 学号 having sum(成绩)>450

‘贰’ sql数据库练习题,急求!!!

创建一个选择查询,按系别统计各自男女学生的平均年龄

SELECT
系,
性别,
AVG(年龄) AS 平均年龄
FROM

GROUP BY
系,
性别

上面是用 SQL 的处理方法。

楼主要求 “最好不是SQL啊”, 不知道楼主 希望是用什么?

一步一步操作?
那要说明是什么数据库啊.
如果是 Access的话, 操作顺序是这样的:

1、创建一个查询
2、在《显示表》窗口里面,把那个表 选中,按 添加按钮。
3、关闭《显示表》窗口, 进入设计窗口。
4、在表中,双击 系, 性别, 年龄 这3列, 加到下面的列表中。
5、在下面列表的地方,鼠标右键,在弹出窗口,选择 “汇总”
6、修改 年龄下面的 Group By, 变成 “计算” 注意,不是“总计”。
7、运行查询。

‘叁’ 关于SQL命令的练习题,急急急!!!

select * from 专业表
select * from 课程表 where ID='000001' order by 成绩 desc
select avg(成绩) from 成绩表 group by 课程 where 人数>1
select count(人数),max(成绩),min(成绩),avg(成绩) from 成绩表 group by 课程 where 成绩 is not null
select count(课程) from 成绩表 group by 学号
sleect * from 学生信息表 join 成绩表 on 学号=学号

‘肆’ SQL练习题 关系:图书(书号,书名,作者,出版社,单价) BOOK(Bno, Bname, Author, Press, Price) 查询“数据

--查询“数据库”一书的书号和单价
select bno,price from BOOK where bname='数据库'
--查询单价在20至50元之间的图书信息
select Bno, Bname, Author, Press, Price from book where price between 20 and 50
--查询北京某出版社出版的图书信息
select Bno, Bname, Author, Press, Price from book where Press='北京某出版社'
--查询作者是张一,王二,刘三的书的信息
select Bno, Bname, Author, Press, Price from book where author in('张一','王二','刘三')
--查询所有图书的书号,书名和半价信息
select Bno, Bname, Price/2 from book
--查询缺少出版社信息的图书的书号和书名
select Bno, Bname from book where Press is null or Press=''

‘伍’ SQL数据库练习题~

1.select name from 学生
where 系别='数学系' and 性别='女';

2.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where 成绩<60;

3.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where avg(成绩)>=95;

4.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where (select b.成绩 from 课程 c inner join 选课 b
on c.课程号=b.课程号 where 课程名='SQL Server 2000')<60

5.update 学生
set 年龄=年龄+1;

‘陆’ SQL的练习,求答案!!!

/*创建Moonfox_db数据库*/
use master
if exists(select * from sysdatabases where name='Moonfox_db')
drop database Moonfox_db
create database Moonfox_db
on
(
name='Moonfox_db_data',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.mdf',
size=10,
filegrowth=2MB
)
log on
(
name='Moonfox_db_log',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.ldf',
size=5,
filegrowth=20%
)/*创建Department表*/
use Moonfox_db
if exists(select * from sysobjects where name='Department')
drop table Department
create table Department
(
DID int identity (1,1)primary key,--部门编号,主键
Dname nvarchar(20),--部门名称
Address nvarchar(50),--部门地址
Photo decimal(12,0),--电话
)/*创建Employee表*/
use Moonfox_db
if exists(select * from sysobjects where name='Employee')
drop table Employee
create table Employee
(
EID int identity (1,1)primary key,--职工编号,主键
Ename varchar(10),--职工名
Gender nchar(2) check(Gender='男' or Gender='女'),--性别,添加限制
Position nvarchar(10) check(Position='员工' or Position='组长' or Position='经理'),--职务,添加限制
Address nvarchar(50),--家庭地址
DID int,--部门编号,外键
foreign key(DID) references Department(DID)--外键约束
)
/*创建Care表*/
use Moonfox_db
if exists(select * from sysobjects where name='Care')
drop table Care
create table Care
(
CID int identity (1,1)primary key,--保健卡编号,主键
EID int,--职工号,外键
foreign key(EID) references Employee(EID),--外键约束
CheckDate datetime,--检查身体日期
PhysicalCondition nvarchar(4) check(PhysicalCondition='一般' or PhysicalCondition='差' or PhysicalCondition='好'),--健康状况
)
/*创建Care表约束*/
alter table Care
add
constraint DF_CheckDate default(getdate()) for CheckDate--缺省,默认净时间为当前计算机时间 路径自己修改,试图自己做,选择语句自己写。我该睡觉了,抱歉,你试着在sql server中运行下,我等着休息,也不知道写的有没有错误,没时间帮你写省下的了。不急着用的话我明天帮你写吧。

‘柒’ 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数据库练习题

楼上的--理论很多不太使用:ㄨinsert -增加语句用法 insert into(Name,Sec)values("张三","李四") --这个语句1.习题:插入学员信息 Name,Sex,Age,Address (地址可为null) 要有自动标识列。 2.实现一次插入多行。3.把原有表中的某个字段 移到新表中 提示:select <字段> into newtable from <原表> ㄨdelecte --删除语句delecte from <表> [where<条件>]例题:上表中 --删除 年龄是66和地址为null 信息 (年龄与地址自己添加) ㄨupdate--更新语句update set <条件> where[限制条件]例题:把年龄大于50岁的 更新为49岁 其余条件自己加 ㄨselect --查询语句select <字段1>,<字段2> from <表> where [条件]例题:从表1、表2中查找相同字段并且 把相同字段存放到新的表中这里子查询就不多说了。这些题很基础你试一试。