SQL语言操作示例练习-1范文

合集下载

SQL习题练习_1_zxx

SQL习题练习_1_zxx

常用sql server 语句 A设有教学数据库的三个基本表:学生表Student (Sno,Sname,Sage,Ssex, Sdept),课程表Course(Cno,Cname,Teacher), 选课表SC(Sno,Cno,Grade) , 用SQL语言实现下列功能:1.建立学生表Student,其中姓名属性值是唯一的,性别属性不能为空。

2.查询所有年龄在22岁以上的女学生姓名及其年龄。

3.查询选修了C3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

4.查询学习1号课程的学生最高分数、最低分及平均成绩。

5.查询与’张军’在同一个系学习的学生信息。

6.将化学工程系全体学生的成绩提高5%。

7.查询选修成绩大于60分的学生的学号及姓名。

8.删除选修高等数学所有学生的成绩记录。

9.求年龄大于男同学平均年龄的女学生姓名和年龄。

10. 统计每门课程的选修人数大于20的课程,并输出课程号和选修人数。

11.检索姓刘的所有学生的姓名和年龄。

12. 统计每个学生选修课程的情况,并输出学号和选修课程数目。

13. 把选修MA THS课不及格的成绩全改为空值。

14.删除王力选课记录。

15. 在sc中,把英语课成绩提高10%A1.建立学生表Student,其中姓名属性值是唯一的,性别属性不能为空。

CREATETABLE Student(Sno CHAR(5) Primary key,Sname CHAR(20) UNIQUE,Ssex CHAR(2) NOT NULL, Sage INT, Sdept CHAR(15));2.查询所有年龄在22岁以上的女学生姓名及其年龄。

SELECT Sname, Sage from studentWHERE Sage >20 and Ssex=’F’3.查询选修了C3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

SELECT Sno, Grade FROM SCWHERE Cno='C3' ORDER BY Grade DESC4.查询学习1号课程的学生最高分数、最低分、平均成绩。

sql语句—实例及答案

sql语句—实例及答案

sql 语句大致可以分类两大类SQL(结构化查询语言)针对数据库database和表table的操作创建create查看show修改alter删除drop// 创建一个数据库create database mydb;// 查看所有的数据库库show databases;// 删除 mydbdrop database mydb;// 删除 user 表drop table user;针对表中的记录的操作增 insert删 delete改 update查 select一、操作数据库创建一个名称为mydb1的数据库create database mydb1;查看当前数据库服务器中的所有数据库show databases;删除前面创建的mydb3数据库drop database mydb3;二、操作表1. 创建表创建员工表Id 整形name 字符型sex 字符型或bit型brithday 日期型Entry_date 日期型job 字符型Salary 小数型resume 大文本型use database mydatabasecreate table employee(id int,name varchar(20),sex varchar(6),brithday date,entry_date date,job varchar(20),salary double,resume text);2. 修改表在上面员工表的基础上增加一个image列alter table employee add colm1 int;修改job列,使其长度为60alter table employee modify job varchar(60);删除sex列。

alter table employee drop sex;表名改为users。

rename table employee to user;列名name修改为usernamealter table user change column name username varchar(20);查看所有表show tables;删除 user 表drop table user;三、数据的增删改查1. insert语句create table employee(id int primary key,name varchar(20) not null,sex varchar(10),birthday date,salary float not null,entry_date date,resume text);// 向员工表插入三条记录insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(1,'zhangsan','male','1987-11-23',1500,'2010-2-18','good boy'); insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(2,'wangwu','male','1988-11-23',1200,'2010-2-18','good boy'); insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(3,'xiaohong','female','1983-11-23',1800,'2010-2-18','goodgirl');insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(4,'王小明','男','1986-11-23',3800,'2011-2-18','handsome boy');insert into employee values(5,'王小明','男','1986-11-23',3800,'2011-2-18','handsome boy');insert into employee(id,name, salary) values(6,'王小明', 3800);// 查看表的所有记录select * from employee;2. update语句将所有员工薪水修改为5000元update employee set salary=5000;将姓名为’zhangsan’的员工薪水修改为3000元。

实验六SQL语句[推荐5篇]

实验六SQL语句[推荐5篇]

实验六SQL语句[推荐5篇]第一篇:实验六SQL语句实验六 SQL语句(续)一、实验目的(1)进一步掌握查询的概念和方法。

(2)熟练掌握单表查询的select语句。

(3)熟练掌握聚合函数的使用。

(4)熟练掌握连接查询方法(5)熟练掌握嵌套查询方法(6)掌握创建和管理视图的方法。

二、实验内容1、查询时改变列标题的显示:检索全体学生的学号、姓名、籍贯信息,并分别加上“学号”、“姓名”、“籍贯”的别名信息。

SQL语句:2、条件查询(1)查询选修了课程号为“002”,且成绩大于80的学生的学号。

SQL语句:(2)某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,查询缺少成绩的学生的学号和相应的课程号。

SQL语句:3、基于IN子句的数据查询从课程表中查询出“高数”、“C语言程序设计”的所有信息。

SQL语句:4、基于Like子句的查询从学生表中分别检索出姓张的所有同学的资料;检索名字的第二个字是“红”或“虹”的所有同学的资料。

SQL语句:5、查询经过计算的值。

查询全体学生的姓名及其出生年份,需为计算值取别名“出生年份”。

SQL语句:6、使用ORDER BY语句对查询的结果进行排序显示所有学生的基本信息,并按学生的年龄的降序排列。

SQL语句:7、使用Group子句进行查询汇总总分大于是150分的学生的学号及总成绩。

8、使用聚合函数计算“002”号课程的学生平均成绩、最高分、最低分。

SQL语句:9、查询与“张虹”在同一个班级的学生学号、姓名、所属系。

(嵌套查询)SQL语句:连接查询T-SQL语句:10、创建一个名为stuview的视图,能检索出每位选课学生的学号、姓名、课程名、总成绩。

SQL语句为:11、创建一个名为stuview1的视图,从数据库XSGL的student 表中查询出性别为“男”的所有学生的资料。

并在创建视图时使用with check option。

(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。

SQL语句练习及参考答案(2021年整理精品文档)

SQL语句练习及参考答案(2021年整理精品文档)

SQL语句练习及参考答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(SQL语句练习及参考答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为SQL语句练习及参考答案的全部内容。

SQL 语句练习1。

设学生选课数据库有关系S (sno ,sname ,age ,sex )、SC (sno ,cno ,grade )和C (cno,cname,teacher ),分别表示学生、选课和课程,sno 代表学号,sname 代表学生姓名,age 代表年龄,sex 代表性别,grade 代表成绩,cno 代表课程号,teacher 代表任课教师。

试完成表示下列查询。

(1)检索年龄大于21的男学生学号(sno )和姓名(sname)。

(2)建立性别只能为“男”、“女"的约束。

(3)创建一个视图v1,该视图用来查询学生的选课情况,要求包含:学生姓名(sname),课程名(cname),任课教师teacher 和成绩grade 。

(4)检索选修课程号为k1和k5的学生学号(sno ). (5)检索全部学生都选修的课程的课程号(cno)和课程名(cname )。

(6)删除所有男同学的选课记录。

1。

(1)select sno ,snae from s where sex=’男' and age 〉21(2)alter table s add constraint c1 check sex in (‘男’,’女')(3)create view v1 as select sname ,cname,teacher,grade from s ,sc ,c where s 。

SQL语言范例

SQL语言范例

1.查询XS表中的所有列。

select * from xs2.查询XS表中计算机专业同学的学号、姓名和总学分。

select 学号,姓名,总学分from xswhere 专业='计算机''3.查询XS表中计算机专业同学的学号、姓名和总学分,结果中各列的标题分别指定为number、name和mark。

select 学号 as number,姓名 as name,总学分 as markfrom xswhere 专业='计算机'4.查询XS表中通信工程专业总学分大于等于42的学生情况。

select *from xswhere 专业='通信工程' and 总学分>=425.查询XS表中姓“王”且单名的学生情况。

Select *from xswhere 姓名 like '王_'6.查询XS表中不在1979年出生的学生情况。

select *from xswhere 出生时间<'1979' or 出生时间>'1980'7.查询选修了课程号为101的学生情况。

select *from xswhere 学号 in (select 学号 from xs_kc where 课程号='101')8.查询未选修离散数学的学生情况。

select *from xswhere not exists ( select *from xs_kc,kcwhere xs.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号and kc.课程名='离散数学')9.查询比所有计算机系的学生年龄都大的学生情况select *from xswhere 出生时间<(select min(出生时间)from xswhere 专业='计算机')10.查询选修了全部课程的同学的姓名。

数据库实验1:SQL查询操作

数据库实验1:SQL查询操作

数据库实验1:SQL查询操作题目:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)。

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。

工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。

工程项目表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。

今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。

SQL上机作业(3)

SQL上机作业(3)

SQL上机作业(3)一、针对SQL上机作业(1)第二题定义的四个表(S,P,J,SPJ),用SQL语句实现如下查询:1. 把全部红色零件的颜色改为蓝色。

解答:update pset color='蓝色';2. 由S5供给J4的零件P6改为由S3供应,请作必要的修改。

解答:update spjset sno='s3'where sno='s5' and jno='j4' and pno='p6';3. 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。

解答:deletefrom spjwhere sno='s2';deletefrom swhere sno='s2';4. 请将(S2,J6,P4,200)插入供应情况关系。

解答:insertinto spjvalues ('s2','j6','p4','200');二、请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供数量(QTY)。

针对该视图完成下列查询:解答:creat view v_sanjian (sno,pno,qty)asselect spj.pno,spj.pno,spj.qtyfrom j,spjwhere j.jno=spj.jno and jname='三建';1.找出三建工程项目使用的各种零件代码及其数量。

解答:select pno,sun(qty)from v_sanjiangroup by pno;2.找出供应商S1的供应情况。

解答:select *from v_sanjianwhere sno='s1';三、针对SQL上机作业(1)第二题定义的四个表(S,P,J,SPJ),用SQL语言完成以下各项操作:1.把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。

SQL语句练习及答案

SQL语句练习及答案

sql语句练习题1数据库有如下四个表格:student(sno,sname,sage,ssex,sdpt) 学生表系表(dptno,dname)course(cno,cname, gradet, tno) 课程表sc(sno,cno,score) 成绩表teacher(tno,tname) 教师表要求:完成以下操作1.查询姓"欧阳"且全名为三个汉字的学生的姓名。

select sname from student where sname like “欧阳__‟;2.查询名字中第2个字为"阳"字的学生的姓名和学号。

select sname,sno from student where sname like '_阳%';3.查询所有不姓刘的学生姓名。

select sname,sno,ssexfrom studentwhere sname not like “刘%”;4.查询db_design课程的课程号和学分。

select cno,ccredit from coursewhere cname like 'db_design'5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。

select * from course where cname like 'db%i_ _';6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

查询缺少成绩的学生的学号和相应的课程号。

select sno,cno from sc where grade is null;7.查所有有成绩的学生学号和课程号。

select sno,cno from sc where grade is not null;8.查询计算机系年龄在20岁以下的学生姓名。

select sname from student where sdept= 'cs' and sage<20;9.查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL语言操作示例练习设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为:学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩)。

一、数据库创建操作【练习之1-1】:使用SQL命令创建一个包含一个数据文件和一个事务日志文件的数据库。

库文件名和数据文件逻辑名均为教学管理数据库,物理文件名为教学管理数据库.mdf,存储在D盘根目录中,该数据库主数据文件是教学管理数据库,初始大小8MB,最大尺寸80MB,以10%的速度增长。

事务日志文件逻辑名为Book_log,物理文件名为教学管理数据库_log.ldf,初始大小1MB,最大尺寸20MB,以20%的速度增长。

操作示例如下:CREATE DATABASE 教学管理数据库ONPRIMARY (NAME= 教学管理数据库,FILENAME='D:\ 教学管理数据库.mdf',SIZE=8MB,MAXSIZE=80MB,FILEGROWTH=10%)LOG ON(NAME=教学管理数据库_log,FILENAME='D:\ 教学管理数据库_log.ldf',SIZE=1MB,MAXSIZE=20MB,FILEGROWTH=20%)【练习之1-2】修改数据库alter database 教学管理数据库add file(name=教学管理数据库_data2,filename='d: \ 教学管理数据库2.mdf',size=10mb,maxsize=20mb,filegrowth=20%)【练习之1-3】删除数据库use masterdrop database\ 教学管理数据库go二、数据表的创建操作create table【练习之2-1】:使用SQL命令,在“教学管理数据库”下面创建三个数据表。

“学生”表结构学号字符型7 主键姓名字符型8 非空性别字符型 2年龄整形班级字符型10专业字符型10“学生”表use 教学管理数据库Create table 学生(学号char(7) not null,姓名char(8) not null,性别char(2),年龄int,班级char(10),专业char(10)PRIMARY KEY(学号))“课程”表use 教学管理数据库Create table 课程(课程号char (10) not null,课程名char(20) not null,学时数int,PRIMARY KEY(课程号))“选课”表,use 教学管理数据库create table 选课(学号char(7) not null,课程号char(10) not null,成绩int, PRIMARY KEY(学号,课程号),CHECK(成绩>=0 AND 成绩<=100))【练习之2-1】给课程表增加“先修课程”字段。

use教学管理数据库alter table课程add先修课程char(20)【练习之2-2】在“选课表”的“成绩”列中添加一个未经验证的CHECK 约束(0<=成绩<=100)use教学管理数据库ALTER TABLE选课WITH NOCHECKADD CONSTRAINT选课_check CHECK(成绩>=0 and成绩<=100)【练习之2-3】删除表:Drop table <表名>三、数据记录添加【练习之3】:使用SQL语句添加数据。

(1)SQL命令格式:INSERT INTO [教学管理数据库].[dbo].[学生]([学号],[姓名],[性别],[年龄],[班级],[专业])VALUES(<学号,char(7),>,<姓名,nchar(10),>,<性别,char(2),>,<年龄,int,>,<班级,nchar(10),>,<专业,nchar(10),>)(2)操作示例插入学生数据记录use 教学管理数据库insert into 学生(学号,姓名,性别,年龄,班级,专业) values('','沈红兵','男',22,'计算机','软件工程')insert into 学生(学号,姓名,性别,年龄,班级,专业) values('','何雪娟','女',21,'经济','市场营销')insert into 学生(学号,姓名,性别,年龄,班级,专业) values('','狄晓雷','女',22,'计算机','计算机应用')insert into 学生(学号,姓名,性别,年龄,班级,专业) values('','刘军','男',20,'计算机','计算机应用')insert into 学生(学号,姓名,性别,年龄,班级,专业) values('','徐丽','女',20,'计算机','计算机应用')插入课程数据记录use 学生管理数据库insert into 课程(课程号,课程名,学时数) values('1','数据结构',54)insert into 课程(课程号,课程名,学时数) values('2','操作系统',51)insert into 课程(课程号,课程名,学时数) values('3','软件工程',33)insert into 课程(课程号,课程名,学时数) values('4','接口与通讯',51)插入选课数据记录use 学生管理数据库insert into 选课(学号,课程号,成绩) values('','1',84)insert into 选课(学号,课程号,成绩) values('','4',76)insert into 选课(学号,课程号,成绩) values('','2',91)insert into 选课(学号,课程号,成绩) values('','2',81)insert into 选课(学号,课程号,成绩) values('','3',69)insert into 选课(学号,课程号,成绩) values('','1',73)insert into 选课(学号,课程号,成绩) values('','4',80)insert into 选课(学号,课程号,成绩) values('','1',74)insert into 选课(学号,课程号,成绩) values('','3',77)【练习之4】:在将“学生”表中的所有学生的年龄增加1岁。

打开查询分析器,选择“学生管理数据库”,输入如下SQL语句,并执行:UPDATE 学生set 年龄=年龄+1四、数据查询操作【练习之5】查询学生的全部信息。

SELECT * FROM 学生用‘* ’表示学生表的全部列名,而不必逐一列出。

【练习之6】:查询全体学生的学号、姓名和年龄。

SELECT 学号, 姓名, 年龄FROM 学生【练习之7】查询选修了课程的学生号。

SELECT DISTINCT 学号FROM 选课➢查询结果中的重复行被去掉——DISTINCT➢上述查询均为不使用WHERE子句的无条件查询,也称作投影查询。

➢另外,利用投影查询可控制列名的顺序,并可通过指定别名改变查询结果的列标题的名字。

➢【练习之8】查询全体学生的姓名、学号和年龄。

SELECT 姓名学生姓名, 学号, 年龄FROM 学生➢其中,学生姓名为姓名的别名➢use学生管理数据库➢select姓名学生姓名,学号,年龄from学生【练习之6】在“学生”表中查找计算机班的学生的学号、姓名、班级信息。

use 教学管理数据库select 学号,姓名,班级from 学生where 班级='计算机'【练习之7】将“选课”表中的“成绩”字段名改为“考试成绩”,将所有学生成绩提高5%,并显示提高后的成绩;Use 教学管理数据库select 学号,课程号,考试成绩=成绩,成绩*1.05 =提高后成绩from 选课或者:use 教学管理数据库select 学号,课程号,成绩as 考试成绩,成绩*1.05 as 提高后成绩from 选课将上述操作生成的视图产生一个表select 学号,课程号,成绩as 考试成绩,成绩*1.05 as 提高后成绩into 学生成绩表from 选课【练习之7】查询学生表中性别为“男”,并且年龄大于等于22岁的所有学生记录use 教学管理数据库select * from 学生where 性别=’男’ and 年龄>22【练习之8】检索成绩在90分(含)以上的学生学号、课程号和成绩。

Use 教学管理数据库select 学号,课程号,成绩from 选课WHERE 成绩>=90【练习之9】在“学生”表中检索姓名为“何”姓的学生信息。

模糊查询use 教学管理数据库select * from 学生where 姓名LIKE '何%'五、常用库函数及统计汇总查询➢SQL提供了许多库函数,增强了基本检索能力。

➢常用的库函数,如表3.2所示【练习之5-1】求学号为学生的总分和平均分。

SELECT SUM(成绩) AS 总成绩, A VG(成绩) AS 平均成绩FROM 选课WHERE (学号= '')注意:函数SUM和A VG只能对数值型字段进行计算。

【练习之9】多表联合查询,学生、课程、选课三表联合查询按学生班级和学科查询学生的成绩;use 教学管理数据库select 学生.学号,学生.姓名,课程.课程名,选课.成绩from 学生,课程,选课where 学生.学号=选课.学号and 选课.课程号=课程.课程号and 课程.课程名='软件工程'【练习之10】统计学生所有的总成绩和平均成绩;use 教学管理数据库select 学号,姓名,sum(选课.成绩) as 总成绩,avg(选课.成绩) as 平均成绩from 学生,选课,课程where 学生.学号=选课.学号and 选课.课程号=课程.课程号group by 学生.学号,学生.姓名Sum()求和函数;avg()求平均值函数数据库操作练习题一、设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为:学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩)。

相关文档
最新文档