当前位置:首页 » 编程语言 » sql语句考试

sql语句考试

发布时间: 2022-07-02 21:33:15

sql语句复习题 求助啊~~

怎么也不给个表结构或库结构看,如果不没给,我就假设了
1. 为学生表增加一个字段:出生日期 D
alter table 学生表
add
出生日期 datetime null;
2、将学生表中的“出生日期”字段删除
alter table 学生表
drop
column 出生日期 cascade
3、将学生表中所有团员的年龄置为18
update 学生表 set 年龄=18
(因为你没给表结构,所以有些地方不一定像我这样写,别的方法也能实现,我这假设一个政治面貌的字段)
where 政治面貌='团员'
4. 查询所有女学生的姓名,性别,年龄
select 姓名,性别,年龄
from 表名
(我不知道你的这个性别这列是什么类型,假高一个CHAR类)
where 性别='女'
5、查询有考试成绩的学生的学号,姓名和性别
select 学号,姓名,性别
from 表名
(假设考试成绩字段有的为NOT NULL,无为NULL)
where 考试成绩 is not null
6、查询选修了C1课程的学生的学号,姓名和专业
select 学号,姓名,专业
from 表名
where 课程=c1
7、查询所有王华选修的课程的课程名和学分
select 课程,学分
from 表名
where 姓名='王华'
8、查询和李明专业相同的学生的学号和姓名
法1:select 学号,姓名 from 表名 where 年龄 = (select 姓名 from 表名 where 姓名='李明');
(这种方法要用到内连)
法2:select 学号,姓名 from 表名 where 姓名 in (select 姓名 from 表名 where 姓名='李明');
当然我写的全是命令方式,如果使用图形方式更简单.希望我写的对你有所帮助

⑵ SQL 查询语句期中考试题2

--1.分别查询学生表和学生修课表中的全部数据。
SELECT * FROM student--查询学生表
SELECT * FROM course--查询课程表

--2.查询成绩在70到80分之间的学生的学号、课程号和成绩。
SELECT Sno 学号,Cno 课程号,Grade 成绩
FROM SC
WHERE Grade BETWEEN 70 AND 80

--3.查询C01号课程成绩最高的分数
SELECT TOP 1 Grade
FROM SC
WHERE Cno='C01'
ORDER BY Grade DESC--降序DESC,升序ASC

--4.查询学生都选修了哪些课程,要求列出课程号。
SELECT Cname AS 学生选修的课程,Cno AS 课程号
FROM course
WHERE Cno IN(SELECT DISTINCT Cno FROM SC)--DISTINCT用来去除重复

--5.查询Northwind数据库中orders表的OrderID、CustomerID和OrderDate,
--并将最新的定购日期(OrderDate)列在前边。
USE Northwind
GO
SELECT OrderID,CustomerID,OrderDate
FROM orders
ORDER BY OrderDate DESC--降序DESC,升序ASC

--6.查询Northwind数据库中orders表的ShipCountry列以B,C,D,F --//ShipCountry BCDF
--开始且第三个字符为"a"的OrderID、CustomerID和ShipCountry的信息。//OrderID、CustomerID第三个字符为"a"
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry FROM orders
WHERE ShipCountry LIKE '[BCDF]_a%'--_下划线表示任意一个字符,%表示一个或多个字符

--7.查询Northwind数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字
--母是"a"的OrderID、CustomerID和ShipCountry的信息。
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry
FROM orders
WHERE ShipCountry LIKE '[^ABCDEF]%a'

--8.查询修了C02号课程的所有学生的平均成绩、最高成绩和最低成绩。
SELECT AVG(Grade) 平均成绩,MAX(Grade) 最高成绩,MIN(Grade) 最低成绩
FROM SC
WHERE Cno='C02'

--9.统计每个系的学生人数。
SELECT Sdept 系别,COUNT(*) 人数
FROM student
WHERE Sdept IN(SELECT DISTINCT Sdept FROM student)
GROUP BY Sdept

--10.统计每门课程的修课人数和考试最高分。
SELECT Cname 课程名,COUNT(*) 修课人数,MAX(Grade) 考试最高分
FROM SC,course
WHERE SC.Cno IN(SELECT DISTINCT Cno FROM SC ) AND course.Cno=SC.Cno
GROUP BY course.Cname

--11.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
SELECT student.Sname 学生姓名,student.Sno 学生学号,COUNT(SC.Sno) 选课门数
FROM student
inner join SC ON SC.Sno=student.Sno
GROUP BY student.Sname,student.Sno
ORDER BY COUNT(SC.Sno) ASC

--12.统计选修课的学生总数和考试的平均成绩。
SELECT COUNT(DISTINCT(Sno)) AS 学生总数,AVG(Grade) AS 平均成绩
FROM SC --//用DISTINCT消除重复的行

--13.查询选课门数超过2门的学生的平均成绩和选课门数。
SELECT Student.Sname,AVG(Sc.Grade) 平均成绩,COUNT(SC.Sno) 选课门数
FROM SC
--内联接join或inner join,内联系是比较运算符,只返回符合条件的行
JOIN Student ON (SC.Sno = Student.Sno)
JOIN Course ON (SC.Cno = Course.Cno)
GROUP BY Student.Sname
HAVING COUNT(distinct Course.Cno) >2--分组条件

--14.列出总成绩超过200分的学生,要求列出学号、总成绩。
SELECT Sno 学号,SUM(Grade) 总成绩
FROM SC
GROUP BY Sno
HAVING SUM(Grade)>200

--15.查询pubs数据库的titles表中每类图书的平均价格超过12.0元的书的类型(Type)、
--平均价格和最高价格。
USE pubs
GO
SELECT Type AS 书的类型,AVG(price) AS 平均价格,MAX(price) AS 最高价格
FROM titles
GROUP BY Type
HAVING AVG(price)>12.0

--16.查询pubs数据库的titles表中每类图书中图书的数目超过3本的图书的总价格。
USE pubs
GO
SELECT 图书类型=Type,图书的数目=count(Type),图书的总价格=SUM(price)
FROM titles
GROUP BY Type
HAVING count(Type)>3

--17.查询选修了c02号课程的学生的姓名和所在系。
SELECT Sname 学生姓名,Sdept 所在系,SC.Cno AS 选修课程
FROM student
inner join SC ON student.Sno=SC.Sno
WHERE SC.Cno='C02'

--18.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
SELECT Sname 学生姓名,SC.Cno 课程号,SC.Grade 成绩
FROM student
inner join SC ON student.Sno=SC.Sno--内连接表SC查询
WHERE SC.Grade>80
ORDER BY SC.Grade DESC

--19.查询计算机系男生修了"数据库基础"的学生的姓名、性别、成绩。
SELECT Sname 姓名,Ssex 性别,SC.Grade 成绩
FROM student
inner join SC ON Cno IN(SELECT Cno FROM course WHERE Cname='数据库基础') --显示成绩的条件
AND student.Sno=SC.Sno --显示成绩的学生的学号
WHERE Sdept='计算机系' AND Ssex='男'

--20.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
--这题使用到了表的自连接,所以需要给表取两个别名,如A和B
SELECT A.Sname 年龄相同的学生的姓名,A.Sage 年龄
FROM student A
inner join student B ON A.Sage IN(SELECT Sage FROM student WHERE A.Sage=B.Sage AND A.Sname!=B.Sname)
GROUP BY A.Sname,A.Sage
ORDER BY A.Sage

--21.查询哪些课程没有人选,要求列出课程号和课程名。
SELECT Cno AS 课程号,Cname AS 课程名
FROM course
WHERE Cno NOT IN(SELECT DISTINCT SC.Cno FROM SC)

--22.查询有考试成绩的所有学生的姓名、修课名称及考试成绩
--要求将查询结果放在一张新的永久表(假设新表名为new-sc)中。
SELECT student.Sname AS 有考试成绩的学生的姓名,course.Cname AS 修课名称,SC.Grade AS 考试成绩
INTO [new_sc] --将查询结果放入新表new_sc中
FROM student,course,SC
WHERE SC.Grade IS NOT NULL AND student.Sno=SC.Sno AND course.Cno=SC.Cno

--23.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,
--并要求将这两个查询结果合并成一个结果集,
--并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
--//此题用到了并union查询
SELECT Sdept 系名,Sname 姓名,Ssex 性别,course.Cname 修课名称,SC.Grade 修课成绩
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept='信息系'
UNION
SELECT Sdept 系名,Sname 姓名,Ssex 性别,course.Cname 修课名称,SC.Grade 修课成绩
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept='计算机系'

select sdept, sname,ssex,cname,grade from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno and (sdept='信息系' or sdept='计算机系')

--24.用子查询实现如下查询:
--(1) 查询选修了C01号课程的学生的姓名和所在系。
SELECT Sname AS 选修了C01号课程的学生的姓名,Sdept AS 所在系
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Cno='C01')

--(2) 查询数学系成绩80分以上的学生的学号、姓名。
SELECT Sno AS 数学系成绩80分以上的学生的学号,Sname AS 姓名
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Grade>80)
AND Sno IN(SELECT Sno FROM student WHERE Sdept='数学系')

--(3) 查询计算机系学生所选的课程名.
SELECT Cname AS 计算机系学生所选的课程名
FROM course
WHERE
course.Cno IN(SELECT DISTINCT Cno FROM SC WHERE SC.Sno IN(SELECT Sno FROM student WHERE Sdept='计算机系'))

--25.将计算机系成绩高于80分的学生的修课情况插入到另一张表中,分两种情况实现://////////////?????/
--(1) 在插入数据过程中建表。
--使用SELECT INTO插入数据的方法,是在插入数据的过程中建立新表
SELECT student.Sname AS 学生名字,course.Cname AS 选修课程,SC.Cno AS 课程编号
INTO [SC_Info1]--将计算机系成绩高于80分的学生的修课情况插入到表SC_Info1中
FROM student,course,SC
WHERE student.Sdept='计算机系' AND SC.Grade>80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno

--(2) 先建一个新表,然后再插入数据。
--创建表SC_Info2
CREATE TABLE SC_Info2
(
Sname char(7),
Cname char(20),
Cno char(10)
)

--往表SC_info2插入查询得到的结果
INSERT SC_Info2
SELECT student.Sname AS 学生名字,course.Cname AS 选修课程,SC.Cno AS 课程编号
FROM student,course,SC
WHERE student.Sdept='计算机系' AND SC.Grade>80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno

--26.删除修课成绩小于50分的学生的修课记录
DELETE SC WHERE Grade<50 OR Grade IS NULL

--27.将所有选修了"c01"课程的学生的成绩加10分。
UPDATE SC
SET Grade=Grade+10
WHERE Cno='C01'

⑶ SQL Server数据库进阶考试题 要求用SQL语句实现(全部利用SQL语句完成)

create database empsystem
on (filename='d:\database\empsystem_data.mdf',
size=3mb,maxsize=20mb,filegrowth=2mb)
go
--use empsystem
create table Departments(
DepartId int not null primary key,
departname nvarchar(50),
location nvarchar(100))
create table Employees(
EmpId Int IDENTITY(1,1) primary key ,
EmpName Nvarchar(50),
Job Nvarchar(50),
MgrId int,
HireDate date,
Salary float,
Commission float ,
DepartId int REFERENCES Departments(DepartId))
go
insert Departments values(1,'市场部','湖北武汉')
insert Departments values(2,'销售部','湖北武汉')
insert Departments values(3,'研发部','湖北武汉')
insert Departments values(4,'人事部','湖北武汉')
insert Departments values(5,'企划部','湖北武汉')
insert Departments values(6,'产品部','湖北武汉')
go
insert Employees(Empname,Job,MgrId,HireDate,Salary,Commission,DeptId) values
('小刘','程序员',2,'2009-0708',2200,1500,3)
go
--1
select empname 姓名,job 工作,HireDate 入职日期,salary+commission 工资 from employees
where (salary+commission)>(select salary+commission from employees where empname='陈芳')
--2
select job 工作,salary+commission 工资 from employees
where (salary+commission)>3000
--3
create procere proce1
@name Nvarchar(50) ,@mgrId int output
as
select @mgrId=mgrId from employees where empname=@name
--4
--5
ALTER TABLE departments ADD DepartId int
CONSTRAINT DepartId_pk PRIMARY KEY

⑷ sql 语句问题,考试题目。大虾帮忙啊

--)
用SQL语句建立P表。
USE
[SPJ]
GO
/******
Object:
Table
[dbo].[P]
******/
SET
ANSI_NULLS
ON
GO
SET
QUOTED_IDENTIFIER
ON
GO
IF
EXISTS(SELECT
*
FROM
SYSOBJECTS
WHERE
NAME
=
'P')
DROP
TABLE
P
GO
CREATE
TABLE
[dbo].[P](
[PNO]
[nvarchar](50)
NOT
NULL,
[PNAME]
[nvarchar](50)
NOT
NULL,
[COLOR]
[nvarchar](50)
NOT
NULL,
[WEIGHT]
[int]
NOT
NULL
)
GO
--2)用SQL语句找出所有零件的名称、颜色、重量。
SELECT
PNAME,COLOR,WEIGHT
FROM
P
--3)用SQL语句把全部红色零件的颜色改为黄色。
UPDATE
P
SET
COLOR
=
'YELLOW'
WEHRE
COLOR
=
'RED'
--4)
用SQL语句由S5供给J4的零件P6改为由S3供应。
UPDATE
SPJ
SET
SNO
=
'S3'
WEHRE
PNO
=
'P6'
AND
JNO
=
'J4'
AND
SNO
=
'S5'

⑸ 一些SQL的试题

1.应用程序
2.实体完整性
3.distince
4.
5.create Nonclustered index IDX_authors on authors(州名列,城市名列)
6.创建表
7.select 列名 from 表名
8.sum()
9.top
10.alter procere
11.ltrim()
12.declare @变量名 数据类型
13.where
14.from
15.order by
16.cast(表达式 as 数据类型)
17.count()
18.drop procere 存储过程名
19.创建数据库
20.价格大于15美元的所有数据
21.数据库
22.rollback
23.
24.服务管理器
25.
26.数据冗余(备份)
27.3
28.数据库
29.应用程序
30.drop table
33.操作系统
权限
1.
2.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
3.共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁.
获准共享锁的事务只能读数据,不能修改数据。
4.
5.
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
6.聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。
7.
8.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
BEGIN TRAN [Tran_name]开始事务
COMMIT TRAN [Tran_name]事务完成提交事务
9.存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。
10.增量备份:是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。
12.原子性,要么都做,要么不做。
13.排它锁若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。
14.分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
15.
17同2,18同8
19.DBMS数据库管理系统,DBA数据库管理员
20.1对1,一个学生对应一个学号
1对多 一个学生对应多门功课
多对多 商品与厂商
(备注:只能做这么多了,很长时间没看书了,有时间可以看看<数据库系统概论>萨师煊 王珊 高等教育出版社,很不错的一本书哦。上有你要的答案,特别是简答题。)
21.
22.数据库完整性,对数据库提出的某种约束条件或规则。
分三种:实体完整性,参照完整性,用户自定义完整性
23.
24.原则如下:
●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。

26。聚集索引确定表中数据的物理顺序。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引)
非聚集索引一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。一个表可以有多个聚集索引

⑹ 上机考试SQL语句

insert into EMAGE.DBF
select * from (select t.employee_name,t.birthday from employee t order by t.birthday) where rownum <=5;

这里貌似不要求查出年龄吧。只是按生日排序就可以了。年龄是降序,按日期排序就该是升序。

⑺ 数据库SQL语句考试

insert into A values('010102','张静',‘’,‘’,‘机电’)

update C set GRADE='59' where GRADE>=60

delete from A where SN like '李%'

select S#,SEX,AGE from A where SN='刘华'

select A.S#,CN from A,B,C where A.S#=C.S# and C.C#=B.C# and A.DEPT not in ('计算机系','法律系')

select C.S#,sum(GRADE) from C where C.S# in (select C.S# from B,C where B.CN='大学语文' and B.C#=C.C#) order by sum(GRADE) desc

update A set SEX='',AGE=''

drop table A
drop table B
drop table C

⑻ SQL 语句查询所有参加考试的学生,从Stu表中和Sco表中

select * from score(成绩表) where stuno(考号) in (select stuno from student)
思路是这样的,学生表中有的考号在成绩表中出现,就叫做参加考试了,更详细的就是说,机试和笔试成绩都不为null

⑼ windows与SQL语句考试 急急急!

1、 要另存文档,除了可以通过按__下列四项中,不属于数据库特点的是( c )。
A.数据共享 B.数据完整性
C.数据冗余很高 D.数据独立性高

2.下列四项中,不属于SQL2000实用程序的是( D )。
A.企业管理器 B.查询分析器
C.服务管理器 D.媒体播放器

3、 SQL是(C )
A.一种编程语言,它可以用来开发
B.一种解释性的语言,用于客户端的语言
C.一种结构化的查询语言,并非开发的语言
D.一种用于制作特效的开发语言

4、数据库是指( a)
A.数据库是长期的存储的计算机内的、有组织的、可共享的数据集合
B.存储在硬盘上的所有数据就是数据库
C.有价值的数据集合在一起就成了一个数据库
D.能够集中管理的一系列的数据就是数据库

5、Create、Alter、Drop等关键字是属于(A )
A.DDL B.DML C.TCL D.DCL

6、Select、Insert、Update、Delete等关键字是属于(b )
A.DDL B.DML C.TCL D.DCL

7、适用于政府、教育等机关等保密性较高的数据库是( C)
A.MSSQL B.MySQL
C.Oracle D.FoxPro

8、以下不是常用的关系型数据库的是(D )
A.MySQL B.Oracle
C.Access D.IMS

9、能控制事务的提交、回滚等操作的SQL语言是(d )
A.DDL B.DML
C.TCL D.DCL

10、以下是哪个公司首先提出了商用的SQL(C )
A.Microsoft B.IBM
C.ORACLE D.HP

11、以下哪一项目是关系运算符( B )
A.+,- B.and, or, not
C. %,(), D. #, @

12、数据库的类型有(A )
A.系统数据库和用户数据库
B.NORTHWIND,PUBS
C.MASTER,MSDB
D.MODEL,TEMPDB

13、当Microsoft SQL Server 2000安装成功之后,自动创建了几个数据库(B )
A.3 B.4 C.5 D.6

14、以下不是数据库的对象的有(D )
A.表 B.视图
C.存储过程 D.节点

15、以下函数中用来求字符长度的函数是(B )
A.Count() B.Len()
C.SubString() D.Max()

16、线缆标准化工作主要由哪一个协会制定(c )
A.OSI B.CCITT
C.EIA D.IEEE

17、802协议族是由下面的哪一个组织定义( C )
A.OSI B.EIA
C.IEEE D.ANSI

18、哪种拓扑结构会受到网络信号反射的影响( c )
A.网型 B.总线型
C.环型 D.星型

19、哪一种逻辑拓扑结构,或网络传输模型,更经常用地使用星型拓扑结构(a )
A.以太网 B.令牌环网
C.令牌总线网 D.局域网

20、路由器连接哪些设备(a )
A.网桥和中继器 B.网桥和集线器
C.两个或更多的网络 D.集线器和节点

热点内容
奶块脚本菜地 发布:2025-02-04 07:46:35 浏览:236
条形码识别源码 发布:2025-02-04 07:45:55 浏览:456
mysql数据库数据同步 发布:2025-02-04 07:41:07 浏览:760
安卓手机下载哪个北斗地图 发布:2025-02-04 07:35:26 浏览:854
查询服务器ip地址代码 发布:2025-02-04 07:08:28 浏览:675
python全双工 发布:2025-02-04 06:57:46 浏览:196
c语言动态内存 发布:2025-02-04 06:57:06 浏览:78
sql倒序查询 发布:2025-02-04 06:49:18 浏览:196
r7000p2021买哪个配置 发布:2025-02-04 06:40:17 浏览:968
如何消除微信小程序缓存 发布:2025-02-04 06:34:24 浏览:636