数据库SQL语句查询作业
南开大学《MYSQL数据库》在线作业4
![南开大学《MYSQL数据库》在线作业4](https://img.taocdn.com/s3/m/559d0bc0db38376baf1ffc4ffe4733687f21fc5b.png)
《MYSQL数据库》在线作业使用SQL语句查询学生信息表tbl_student中的所有数据,并按学生学号stu_id 升序排列,正确的语句是A:SELECT * FROM tbl_student ORDER BY stu_id ASC;B:SELECT * FROM tbl_student ORDER BY stu_id DESC;C:SELECT * FROM tbl_student stu_id ORDER BY ASC;D:SELECT * FROM tbl_student stu_id ORDER BY DESC;参考选项:AMySQL中,删除用户的命令是A:DROP USERB:REVOKE USERC:DELETE USED:REMOVE USER参考选项:A要消除查询结果集中的重复值,可在SELECT语句中使用关键字A:UNIONB:DISTINCTC:LIMITD:REMOVE参考选项:B查看系统中可用的字符集命令是A:show character setB:show collationC:show characterD:show set参考选项:A设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A:课号,成绩B:学号,成绩C:学号,课号D:学号,姓名,成绩参考选项:C在安装和配置MySQL实例的向导中,可选的MySQL服务器类型包括A:Developer Machine(开发者机器)、Server Machine(服务器)、Dedicated MySQL Server Machine(专用MySQL服务器)B:Developer Machine(开发者机器)、Dedicated MySQL Server Machine(专用MySQL服务器)C:Server Machine(服务器)、Dedicated MySQL Server Machine(专用MySQL服务器)D:Developer Machine(开发者机器)、Server Machine(服务器)参考选项:A以下关于数据库概念模型的叙述中,错误的是A:数据库概念模型与所采用的数据库管理系统相关B:数据库概念模型与具体的计算机无关C:数据库概念模型的表示方法是E-R图D:概念模型是对信息世界的建模参考选项:A在数据库系统的三级模式结构中,一个数据库可以有多个A:模式B:外模式C:内模式D:以上皆正确参考选项:B如果DELETE语句中没有使用WHERE子句,则下列叙述中正确的是A:删除指定数据表中的最后一条记录B:删除指定数据表中的全部记录C:不删除任何记录D:删除指定数据表中的第一条记录参考选项:B设职工表tb_employee,包含字段eno(职工号)、ename(姓名)、age(年龄)、salary(工资)和dept(所在部门),要查询工资在4000-5000之间(包含4000、5000)的职工号和姓名,正确的WHERE条件表达式是A:salary BETWEEN 4000 AND 5000B:salary =5000C:4000 =5 THEN 'true' ELSE 'false' END;D:SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;E:SELECT CASE WHEN -1>0 THEN 'true' END;F:SELECT CASE 'one' WHEN 1 THEN 'one' WHEN 2 THEN 'two' END;参考选项:A使用UPDATE语句同时修改多个表,会同时修改表关联中满足限定条件的每个表,在这种修改中可以使用的子句是A:WHEREB:GROUP BY。
数据库常用SQL语句练习(含答案)
![数据库常用SQL语句练习(含答案)](https://img.taocdn.com/s3/m/217346419b6648d7c1c746cd.png)
Emp(员工表)和Dept(部门表)简单题1. 案例:查询没有上级领导的员工的编号,姓名,工资select empno,ename,sal from emp where mgr is null;2. 案例:查询emp表中没有奖金的员工的姓名,职位,工资,以及奖金select ename,job,sal,comm from emp where comm is null or comm=0;既可以是null,也可以是03. 案例:查询emp表中含有奖金的员工的编号,姓名,职位,以及奖金select ename,job,sal,comm from emp where comm>0;4. 案例:查询含有上级领导的员工的姓名,工资以及上级领导的编号select ename,sal,mgr from emp where mgr is not null;5. 案例:查询emp表中名字以‘S’开头的所有员工的姓名select ename from emp where ename like 's%'6. 案例:查询emp表中名字的最后一个字符是'S'的员工的姓名select ename from emp where ename like '%s'7. 案例:查询倒数的第2个字符是‘E’的员工的姓名select ename from emp where ename like '%e_'8. 案例:查询emp表中员工的倒数第3个字符是‘N’的员工姓名select ename from emp where ename like '%n__'9. 案例:查询emp表中员工的名字中包含‘A’的员工的姓名select ename from emp where ename like '%a%'10. 案例:查询emp表中名字不是以'K'开头的员工的所有信息select * from emp where ename not like 'k%';11. 案例:查询emp表中名字中不包含‘A’的所有员工的信息select * from emp where ename not like '%a%'12. 案例:做文员的员工人数(job= CLERK 的)select count(*) from emp where job='clerk';13. 案例:销售人员job: SALESMAN 的最高薪水select max(sal) from emp where job='salesman';14. 案例:最早和最晚入职时间select min(hiredate),max(hiredate) from emp;15. 案例:查询emp表中员工的编号,姓名,职位,工资,并且工资在1000~2000之间。
使用SQL语句查询数据库表格数据
![使用SQL语句查询数据库表格数据](https://img.taocdn.com/s3/m/92b75d10657d27284b73f242336c1eb91a373327.png)
使用SQL语句查询数据库表格数据SQL是结构化查询语言的缩写,是一种用于管理关系型数据库(RDBMS)的标准化语言。
通过使用SQL语句,我们可以查询数据库表格中的数据,进行新增、修改和删除操作。
本文将介绍如何使用SQL语句查询数据库表格数据。
1. 连接数据库在使用SQL语句查询数据之前,首先需要连接到数据库。
通常我们使用的是MySQL数据库,下面是连接到MySQL数据库的示例代码:```import pymysql# 连接数据库conn = pymysql.connect(host='localhost', user='root', password='password',db='database_name', charset='utf8')```2. 查询所有数据要查询数据库表格中的所有数据,我们可以使用SELECT语句。
下面是查询语句的示例代码:```# 创建游标cursor = conn.cursor()# 查询数据sql = "SELECT * FROM table_name"cursor.execute(sql)# 获取所有数据results = cursor.fetchall()# 输出结果for row in results:print(row)# 关闭游标和连接cursor.close()conn.close()```在上述示例代码中,我们首先创建了一个游标来执行SQL语句。
然后,我们使用SELECT语句查询了表格中的所有数据,并将结果存储在results变量中。
最后,我们通过循环遍历results来输出查询结果。
3. 查询指定条件的数据除了查询所有数据,有时候我们还需要查询满足特定条件的数据。
在SQL中,我们可以使用WHERE子句来指定查询条件。
下面是查询指定条件数据的示例代码:```# 查询指定条件数据sql = "SELECT * FROM table_name WHERE condition"```在上述示例代码中,我们将WHERE子句替换为实际的查询条件。
通用SQL数据库查询语句范例
![通用SQL数据库查询语句范例](https://img.taocdn.com/s3/m/c696f2fa18e8b8f67c1cfad6195f312b3169eb73.png)
通⽤SQL数据库查询语句范例通⽤SQL数据库查询语句范例(多表查询)作者:谢作如⼀、简单查询简单的Transact-SQL查询只包括选择列表、FROM⼦句和Where⼦句。
它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下⾯的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
Select nickname,email FROM testtable Where name='张三'(⼀) 选择列表选择列表(select_list)指出所查询列,它可以是⼀组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列例如,下⾯语句显⽰testtable表中所有列的数据: Select * FROM testtable2、选择部分列并指定它们的显⽰次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
例如: Select nickname,email FROM testtable3、更改列标题在选择列表中,可重新指定列标题。
定义格式为: 列标题=列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使⽤引号定界符,例如,下列语句使⽤汉字显⽰列标题: Select 昵称=nickname,电⼦邮件=email FROM testtable4、删除重复⾏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语句查询及与查询相关的表或视图。
查询及sql语句作业
![查询及sql语句作业](https://img.taocdn.com/s3/m/83b5cd0879563c1ec5da7115.png)
查询以及sql语句作业第一部分查询8-1 查询年龄在20岁以上的女同学的学号、姓名、年龄信息.8-2 根据“学生”、“班级”表查询学生及班级信息,要求显示学生的“学号”、“姓名”及“班级名称”字段。
8-3 利用“查找重复项查询向导”创建查询,查找姓名相同的学生的信息。
8-4 使用“不匹配项查询向导”创建查询,找出没有成绩的学生名单。
8-5 查询所有学生的信息。
8-6 查询单科成绩在90分以上(含90分)的学生的姓名、课程名称和分数,并按分数降序排列。
8-7 查询年龄在20岁到22岁之间的学生的学号、姓名和年龄。
8-8 查询各门课程的平均分,要求查询结果包含课程名称、平均分。
8-9 建立一个参数查询,按输入的班级编号查找该班学生学号、姓名、出生日期和政治面貌等信息。
8-10 修改例8-9的条件,查找2006级的学生信息。
8-11 按课程名称查找该课程成绩在90分以上(含90分)的学生信息。
8-12 建立一个参数查询,按输入的分数段查找学生的姓名、课程名称和分数。
8-13 建立一个参数查询,按输入的“班级编号”及“课程名称”查询该班学生的姓名、课程名称及分数。
8-14 使用“设计视图”创建交叉表查询,汇总各学生各门课程的成绩,并计算每名学生的平均成绩,产生“学生成绩汇总表”。
要求表中增加一列显示学生的平均成绩。
8-15 使用“设计视图”创建交叉表查询,统计各班各门课程的的平均成绩,产生“班级课程平均成绩”汇总表。
要求查询结果以“班级名称”为行标题,以“课程名称”为列标题,行列交叉处显示“分数”的平均值。
8-16 将有不及格成绩的所有学生的“学号”、“姓名”、“班级”、“课程名称”和“分数”信息保存到“补考名单”表中。
8-17 将“教师”表中所有未婚教师的“教师编号”、“姓名”、“职称”和“联系电话”信息保存到一个名为“未婚教师”的新表中。
8-18 创建删除查询,删除“补考名单”表中所有“会计学基础”课程的补考信息。
sql 语句实现数据库数据的更新查询
![sql 语句实现数据库数据的更新查询](https://img.taocdn.com/s3/m/3ac0b319fad6195f312ba639.png)
实验二:简单查询和连接查询一、实验目的:熟练掌握用SQL语句实现的简单查询和多个数据表连接查询。
二、实验内容:(一)完成下面的简单查询:①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件。
③查询工程名称中含有“厂”字的工程明细。
(二)完成下面的连接查询:①等值连接:求s表和j表的相同城市的等值连接。
②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。
③笛卡尔积:求s和p表的笛卡尔积④左连接:求j表和spj表的左连接。
⑤右连接:求spj表和j表的右连接。
三、完成情况:成功完成各项查询任务查询的sql语句如下:SELECT*FROM SWHERE CITY='天津';SELECT*FROM PWHERE COLOR='红'AND WEIGHT>=14;SELECT*FROM JWHERE JNAME like'%厂';SELECT*FROM S,JWHERE S.CITY=J.CITY;select SPJ.SNO,S.SNAME,SPJ.PNO,P.PNAME,SPJ.JNO,J.JNAME,SPJ.QTYfrom S,P,J,SPJwhere S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNOORDER BY QTY;select*from S,PSELECT J.JNO,J.JNAME,J.CITY,SPJ.SNO,SPJ.PNO,QTYFROM J LEFT JOIN SPJ on(J.JNO=SPJ.JNO);SELECT J.JNO,J.JNAME,J.CITY,SPJ.SNO,SPJ.PNO,QTYFROM J right JOIN SPJ on(J.JNO=SPJ.JNO);SELECT J.JNO,J.JNAME,J.CITY,SPJ.SNO,SPJ.PNO,QTYFROM SPJ right JOIN J on(J.JNO=SPJ.JNO);四、实验结果:①查询所有“天津”的供应商明细;SNO SNAME STATUS CITYS1 精益 20 天津S4 丰盛泰 20 天津②查询所有“红色”的14公斤以上的零件。
50条数据库sql语句及答案
![50条数据库sql语句及答案](https://img.taocdn.com/s3/m/fbad9b6948d7c1c708a145dd.png)
select teaid from tblTeacher where teaname = '叶平')))
--练习
select stuid from tblScore where courseid in (
--11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;
------运用连接查询
SELECT DISTINCT ST.* FROM tblStudent ST, tblScore SC WHERE ST.STUID = SC.STUID
AND SC.COURSEID IN
select stuid from tblScore GROUP BY STUID HAVING max(SCORE)<60)
--10、查询没有学全所有课的同学的学号、姓名;
--练习
SELECT TS.STUID,TS.STUNAME,COUNT(TSC.SCORE) FROM tblStudent TS
TC.COURSEID INNER JOIN tblTeacher TT ON TC.TEAID = TT.TEAID
WHERE TT.TEANAME ='叶平')
--对
SELECT STUID, STUNAME FROM tblStudent WHERE STUID NOT IN(
where A.SCORE > B.SCORE
--老师讲的方法
SELECT T.* FROM tblScore T WHERE T.COURSEID = 1 AND
数据库sql查询语句练习4_习题_结果(单世民)图书_习题
![数据库sql查询语句练习4_习题_结果(单世民)图书_习题](https://img.taocdn.com/s3/m/cfdaf40cfd4ffe4733687e21af45b307e871f994.png)
数据库sql查询语句练习4_习题_结果(单世民)图书_习题现有图书管理数据库的三个关系模式:图书(总编号, 分类号, 书名, 作者, 出版单位, 单价)读者(借书证号, 单位, 姓名, 性别, 职称, 地址)借阅(借书证号, 总编号, 借书⽇期)具体数据为:读者:根据以上描述,请完成:DDL1.写出创建上述表的语句命令:create table图书(总编号varchar(7)primary key,分类号varchar(8),书名varchar(18),作者varchar(8),出版单位varchar(18),单价float)create table读者(借书证号varchar(4)primary key,单位varchar(7),姓名varchar(8),性别varchar(2),职称varchar(8),地址varchar(18))create table借阅(借书证号varchar(3),总编号varchar(6),借书⽇期date,primary key(借书证号,总编号,借书⽇期))DML2.给出插⼊上述数据的insert语句命令:insert into图书values('445501','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445502','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445503','TP3/12','数据库导论','王强','科学出版社', insert into图书values('332211','TP5/10','计算机基础','李伟','⾼等教育出版社', insert into图书values('112266','TP3/12','FoxBASE','张三','电⼦⼯业出版社', insert into图书values('665544','TS7/21','⾼等数学','刘明','⾼等教育出版社', insert into图书values('114455','TR9/12','线性代数','孙业','北京⼤学出版社', insert into图书values('113388','TR7/90','⼤学英语','胡玲','清华⼤学出版社', insert into图书values('446601','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('446602','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('446603','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('449901','TP4/14','FoxPro⼤全','周虹','科学出版社', insert into图书values('449902','TP4/14','FoxPro⼤全','周虹','科学出版社', insert into图书values('118801','TP4/15','计算机⽹络','黄⼒钧','⾼等教育出版社',insert into图书values('118802','TP4/15','计算机⽹络','黄⼒钧','⾼等教育出版社',insert into读者values('111','信息系','王维利','⼥','教授','1号楼')insert into读者values('112','财会系','李⽴','男','副教授','2号楼')insert into读者values('113','经济系','张三','男','讲师','3号楼')insert into读者values('114','信息系','周华发','男','讲师','1号楼')insert into读者values('115','信息系','赵正义','男','⼯程师','1号楼')insert into读者values('116','信息系','李明','男','副教授','1号楼')insert into读者values('117','计算机系','李⼩峰','男','助教','1号楼')insert into读者values('118','计算机系','许鹏飞','男','教授','1号楼')insert into读者values('119','计算机系','刘⼤龙','男','副教授','4号楼') insert into读者values('120','国际贸易','李雪','男','副教授','4号楼') insert into读者values('121','国际贸易','李爽','⼥','讲师','4号楼') insert into读者values('122','国际贸易','王纯','⼥','讲师','4号楼') insert into读者values('123','财会系','沈⼩霞','⼥','助教','2号楼') insert into读者values('124','财会系','朱海','男','讲师','2号楼')insert into读者values('125','财会系','马英明','男','副教授','2号楼')insert into借阅values('112','445501','1997-3-19')insert into借阅values('125','332211','1997-2-12')insert into借阅values('111','445503','1997-8-21')insert into借阅values('112','112266','1997-3-14')insert into借阅values('114','665544','1997-10-21')insert into借阅values('120','114455','1997-11-2')insert into借阅values('120','118801','1997-10-18')insert into借阅values('119','446603','1997-12-12')insert into借阅values('112','449901','1997-10-23')insert into借阅values('115','449902','1997-8-21')insert into借阅values('118','118801','1997-9-10')单表查询3.找出姓李的读者姓名和所在单位命令:select姓名,单位from读者where姓名like'李%'结果:4.列出图书库中所有藏书的书名以及出版单位命令:select distinct书名,出版单位from图书结果:5.查找出⾼等教育出版社的所有图书及单价,结果按单价降序排列命令:select distinct书名,单价from图书where出版单位='⾼等教育出版社' order by单价desc结果:6.查找出价格位于10元和20元之间的图书种类,结果按出版单位和单价升序排序命令:select*from图书where单价between 10 and 20 order by出版单位,单价结果:7.找出书名以“计算机”打头的所有图书和作者命令:select distinct书名,作者from图书where书名like'计算机%'结果:8.检索同时接借阅了总编号为112266和449901两本书的借书证号命令:select借书证号from借阅where总编号='112266'intersect select借书证号from借阅where总编号='449901'结果:9.求科学出版社图书的最⾼单价、最低单价和平均单价命令:select MAX(单价)最⾼单价,MIN(单价)最低单价,AVG(单价)平均单价from 图书where出版单位='科学出版社'结果:聚合查询10.找出藏书中各个出版社的册数、价值总额命令:select出版单位,COUNT(*)册数,SUM(单价)价值总额from图书group by 出版单位结果:11.求出各个出版社图书的最⾼价格、最低价格和册数命令:select出版单位,COUNT(*)册数,max(单价)最⾼价格,MIN(单价)最低价格from图书group by出版单位结果:多表查询12.查找所有借了书的读者的姓名以及所在单位命令:select distinct姓名,单位from读者join借阅on读者.借书证号=借阅.借书证号结果:13.找出李某所借图书的所有图书的书名及借书⽇期命令:select姓名,书名,借书⽇期from读者join借阅on读者.借书证号=借阅.借书证号join图书on借阅.总编号=图书.总编号where 姓名like'李%'结果:14.查询1997年10⽉以后借书的读者借书证号、姓名和单位命令:select distinct读者.借书证号,姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号whereDATEDIFF(MONTH,'1977-10-1',借书⽇期)>=0结果:15.找出借阅了FoxPro⼤全⼀书的借书证号命令:select借书证号from借阅join图书on借阅.总编号=图书.总编号where 书名='FoxPro⼤全'结果:16.分别找出借书⼈次超过1⼈次的单位及⼈次数命令:select单位,COUNT(*)⼈次数from借阅join读者on借阅.借书证号=读者.借书证号group by单位having COUNT(*)>1结果:⼦查询17.找出与赵正义在同⼀天借书的读者姓名、所在单位以及借书⽇期命令:select姓名,单位,借书⽇期from读者join借阅on读者.借书证号=借阅.借书证号where借书⽇期=(select借书⽇期from借阅join读者on借阅.借书证号=读者.借书证号where姓名='赵正义')结果:18.查询1997年7⽉以后没有借书的读者借书证号、姓名以及单位命令:select借书证号,姓名,单位from读者except select借阅.借书证号,姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号where DATEDIFF(DAY,'1997-7-1',借书⽇期)>=0结果:19.求信息系当前借阅图书的读者⼈次数命令:select COUNT(*)⼈次数from借阅join读者on借阅.借书证号=读者.借书证号where单位='信息系'结果:20.找出当前⾄少借阅了2本书的读者及所在单位命令:select姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号group by读者.姓名,单位having COUNT(*)>=2结果:21.查询经济系是否还清所有图书。
数据库SQL查询例题及解答
![数据库SQL查询例题及解答](https://img.taocdn.com/s3/m/da9f78724028915f814dc253.png)
1 实验目的1.熟悉数据库的交互式SQL工具。
2.熟悉通过SQL对数据库进行操作。
3.完成作业的上机练习。
2 实验工具sql server利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。
3 实验内容和要求1)实验内容:创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下:Sailors(sid: integer, sname: string, rating: integer, age: real)船员(船员编号,,级别,年龄)Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色)Reserves(sid: integer, bid: integer, day: date)租赁(船员编号,船编号,日期)(注:下划线表示主键),并插入一定数据。
2)完成下列要求:(1)查询所有船员的信息(2)查询所有姓王的船员的信息(3)查询租用过103号船的船员姓名(4)查找租用过船只的船员编号(5)查找rating>7且年龄>25的水手编号(6)查找租用过红船和绿船的水手名字(7)查找租用过红船或绿船的水手编号(8)查找最年长的水手的年龄和名字(9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄(10)查找每条红色船只被租用的次数(11)把30岁以上船员的级别调高一级(12)删除所有年龄超过40岁的船员信息(13)建立年龄超过25岁的船员的视图(14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可)2)要求:a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。
b.记录完成查询要求的SQL语句脚本。
c.记录完成查询的查询结果。
《数据库系统概论》实验报告题目:交互式SQL学号:日期:2012年4月29日实验内容与完成情况:(一)实验所用数据(截图):Sailors表Boats表Reserves表(二)实验内容和要求1)实验内容:创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下:Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,,级别,年龄)Boats(bid: integer, bname: string, color: string)船(船编号,名称,颜色)Reserves(sid: integer, bid: integer, day: date)租赁(船员编号,船编号,日期)(注:下划线表示主键),并插入一定数据。
mssql 数据库查询语句
![mssql 数据库查询语句](https://img.taocdn.com/s3/m/85a5e8536ad97f192279168884868762caaebba4.png)
mssql 数据库查询语句
MSSQL数据库查询语句是用来从数据库中检索数据的命令。
在MSSQL中,常用的查询语句包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等关键字,这些关键字可以组合使用来实现不同
的数据查询需求。
首先,SELECT关键字用于指定要检索的列,可以是单个列或多
个列。
例如,SELECT column1, column2 FROM table_name; 这条查
询语句将从指定的表中检索column1和column2列的数据。
其次,FROM关键字用于指定要检索数据的表。
例如,SELECT column1, column2 FROM table_name; 这里的table_name就是要从
中检索数据的表名。
然后,WHERE关键字用于指定检索数据时的条件。
例如,SELECT column1, column2 FROM table_name WHERE condition; 这
里的condition可以是各种逻辑条件,比如column1 = 'value'或
者column2 > 100等,用来筛选出符合条件的数据。
除了基本的SELECT语句外,MSSQL还支持其他高级的查询语句,
比如GROUP BY用于对检索的数据进行分组,HAVING用于对分组后的数据进行筛选,ORDER BY用于对检索的数据进行排序等。
总之,MSSQL数据库查询语句是非常灵活且强大的,可以根据具体的数据查询需求来灵活组合使用各种关键字和条件,以实现精确的数据检索和分析。
希望这些信息能够帮助到你。
数据库的sql语句练习题
![数据库的sql语句练习题](https://img.taocdn.com/s3/m/94a3e53a5bcfa1c7aa00b52acfc789eb162d9e62.png)
数据库的sql语句练习题1. 练习题一:查询语句基础在学生表(students)中,包含以下字段:学号(id)、姓名(name)、年龄(age)、性别(gender)、班级(class)、成绩(score)。
请编写SQL语句实现以下需求:a) 查询学生表中所有学生的信息。
b) 查询学生表中的男性学生信息。
c) 查询学生表中年龄为18岁的学生信息。
d) 查询学生表中成绩大于等于90分的学生信息。
e) 查询学生表中姓“张”的学生信息。
2. 练习题二:修改语句练习在学生表(students)中,某个学生的学号为1001,需要将该学生的年龄修改为20岁,请编写相应的SQL语句实现此操作。
3. 练习题三:插入语句练习在学生表(students)中添加一条新纪录,学号为1002,姓名为李明,年龄为19岁,性别为男,班级为三年级,成绩为87分,请编写相应的SQL语句实现此操作。
4. 练习题四:删除语句练习在学生表(students)中,某个学生的学号为1003,需要将该学生的信息从表中删除,请编写相应的SQL语句实现此操作。
5. 练习题五:使用多表查询存在两张表,学生表(students)和课程表(courses)。
学生表包含字段:学号(id)、姓名(name)、班级(class);课程表包含字段:课程编号(course_id)、课程名称(course_name)。
已知约德尔学院中,学号为1001的学生参加了编号为1的课程,请编写SQL语句查询学号为1001的学生所选的课程及课程名称。
6. 练习题六:排序查询练习在学生表(students)中,查询所有学生的信息,并按照成绩从高到低进行排序。
以上是数据库的SQL语句练习题,请按照上述要求编写相应的SQL语句进行解答。
祝你练习愉快,取得好成绩!。
数据库实验报告-SQL语句查询
![数据库实验报告-SQL语句查询](https://img.taocdn.com/s3/m/b8a67513580216fc700afd54.png)
《数据库原理》实验报告(实验名称:SQL查询语句)一、实验目的数据查询语句是SQL语句的重要组成部分,是编程人员与数据库管理人员必不可少的工具,通过实验达到以下目的:(1)掌握SELECT 语句的基本语法,加深学生对查询语句基本概念的理解。
(2)掌握简单的单表查询。
(3)掌握连接查询。
二、实验内容:实验数据:实验二所建的数据库及表,实验三录入表中的数据。
1、简单查询(1)若干列或行的选择(2)*、distinc、between…and… 、 in、 like等运算符的使用(3)计算列、常量或空值的查询(4)查询结果排序和分组2、连接查询(1)内连接和自身连接(2)外连接(3)复合条件连接(4)多表连接(5)对表和列使用别名三、实验环境SQL server 2000,pc机一台四、程序源码与运行结果1.查询所有学生的全部信息2. 查询全体学生的学号与姓名3 查询年龄在20岁以下的学生姓名及其出生年份,并为出生年份加上标题4 查询选修了课程的学生学号,并消除重复行5 查询年龄在20~23岁的学生信息(用between… and…表示查询条件)6 查询全体学生情况,查询结果按班级编号升序排列,同一班的学生按年龄降序排列7 查询所有姓赵学生的姓名、学号和性别8 查询名字中第2个字为“小”字的学生姓名9 查询电气信息工程学院(dx) 和计算机学院(jsj)的学生(要求:使用IN关键字表示查询条件10 查询没有考试成绩的学生学号和课程号11 查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数(先用group by 分组,再用Having限定分组条件)12 查询学生总人数13 查询学号为‘’学生的平均成绩和总成绩,并为总成绩和平均成绩取别名。
14 查询c01号课程的最高分数和最低分15 查询没有考试成绩的学生学号和课程号16 查询全体学生的姓名、选修的课程名及成绩17 查询每个学生及其选修课程情况的所有信息(用*表示字段18 查询某门课程考试成绩相同的学生学号和课程名,并为各个表取别名19 查询与“张三”在一个系学习的学生(IN)20 查询选修了“数据结构”的学生学号和姓名五、实验总结列名写错:修改列名:心得体会:通过实验,了解了一些基本的查询操作,会一些的基本操作。
数据库sql查询语句练习
![数据库sql查询语句练习](https://img.taocdn.com/s3/m/88285383e53a580216fcfe3d.png)
查询语句1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') as a,(selects#,score from SC where C#='002') as bwhere a.score>b.score and a.s#=b.s#2、查询平均成绩大于60分的同学的学号和平均成绩;select S#,avg(score)from scgroup by S# having avg(score) >603、查询所有同学的学号、姓名、选课数、总成绩;select Student.S#,Student.Sname,count(SC.C#),sum(score)from Student left join SC on Student.S#=SC.S#group by Student.S#,Sname4、查询姓“李”的老师的个数;select count(distinct(Tname))from Teacherwhere Tname like '李%'5、查询没学过“张三”老师课的同学的学号、姓名;select Student.S#,Student.Snamefrom Studentwhere S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# andTeacher.Tname='张三')6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;select Student.S#,Student.Snamefrom Student,SCwhere Student.S#=SC.S#and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# andSC_2.C#='002')7、查询学过“张三”老师所教的所有课的同学的学号、姓名;select S#,Snamefrom Studentwhere S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C#and Teacher.T#=Course.T# and Teacher.Tname='张三' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher whereTeacher.T#=Course.T# and Tname='张三'))8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Snamefrom (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') as score2from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2<score9、查询所有课程成绩小于60分的同学的学号、姓名;select S#,Snamefrom Studentwhere S# not in (select Student.S# from Student,SC where S.S#=SC.S# andscore>60)10、查询没有学全所有课的同学的学号、姓名;select Student.S#,Student.Snamefrom Student,SCwhere Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select S#,Snamefrom Student,SCwhere Student.S#=SC.S# and C# in (select C# from SC where S#='1001')12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;select distinct SC.S#,Snamefrom Student,SCwhere Student.S#=SC.S# and C# in (select C# from SC whereS#='001')13、把“SC”表中“张三”老师教的课的成绩都更改为此课程的平均成绩;update SC set score=(select avg(SC_2.score)from SC SC_2where SC_2.C#=SC.C# )from Course,Teacherwhere Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='张三'14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select S# from SC where C# in (select C# from SC whereS#='1002')group by S# having count(*)=(select count(*) from SC whereS#='1002')15、删除学习“张三”老师课的SC表记录;Delect SCfrom course ,Teacherwhere Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='张三'16、向SC表中插入一些记录,这些记录要求符合以下条件:学号是没有上过编号“002”课程的同学学号课程号是002成绩是002号课的平均成绩;Insert into SCvalues(select S# from Student where S# not in (Select S# from SC where C#='002'),'002',(Select avg(score)from SC where C#='002'))17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,数据库,企业管理,英语,有效课程数,有效平均分select S# as 学生ID,(select score from SC where SC.S#=t.S# and C#='004') as 数据库,(select score from SC where SC.S#=t.S# and C#='001') as 企业管理,(select score from SC where SC.S#=t.S# and C#='006') as 英语,count(*) as 有效课程数, avg(t.score) as 平均成绩from SC as tgroup by S#order by avg(t.score)18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select L.C# As 课程ID,L.score as 最高分,R.score as 最低分from SC L ,SC as Rwhere L.C# = R.C# and L.score = (select max(IL.score)from SC as IL,Student as IMwhere L.C# = IL.C# and IM.S#=IL.S# group by IL.C#)and R.Score = (SELECT MIN(IR.score) from SC as IRwhere R.C# = IR.C# group by IR.C# )19、按各科平均成绩从低到高和及格率的百分数从高到低顺序SELECT t.C# as 课程号,max(ame) as课程名,isnull(AVG(score),0) as 平均成绩,100 * SUM(case when isnull(score,0)>=60 then 1 else 0 end)/count(*) as 及格百分数from SC T,Coursewhere t.C#=course.C#group by t.C#order by 100 * SUM(case when isnull(score,0)>=60 then 1 else 0 end)/count(*) DESC20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分,100 * SUM(CASE WHEN C# = '001' ANDscore >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END)AS 企业管理及格百分数,SUM(CASE WHEN C# = '002' THEN scoreELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分,100 * SUM(CASE WHEN C# = '002' ANDscore >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END)AS 马克思及格百分数,SUM(CASE WHEN C# = '003' THEN scoreELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分,100 * SUM(CASE WHEN C# = '003' ANDscore >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END)AS UML及格百分数,SUM(CASE WHEN C# = '004' THEN scoreELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分,100 * SUM(CASE WHEN C# = '004' ANDscore >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END)AS 数据库及格百分数FROM SC21、查询不同老师所教不同课程平均分从高到低显示SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(ame) AS 课程名称,AVG(Score) AS 平均成绩FROM SC AS T,Course AS C ,Teacher AS Zwhere T.C#=C.C# and C.T#=Z.T#GROUP BY C.C#ORDER BY AVG(Score) DESC22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩SELECT DISTINCT top 3SC.S# As 学生学号,Student.Sname AS 学生姓名 ,T1.score AS 企业管理,T2.score AS 马克思,T3.score AS UML,T4.score AS 数据库,ISNULL(T1.score,0) + ISNULL(T2.score,0) +ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分FROM Student,SC LEFT JOIN SC AS T1ON SC.S# = T1.S# AND T1.C# = '001'LEFT JOIN SCAS T2ON SC.S# = T2.S# AND T2.C# = '002'LEFT JOIN SCAS T3ON SC.S# = T3.S# AND T3.C# = '003'LEFT JOIN SCAS T4ON SC.S# = T4.S# AND T4.C# = '004'WHERE student.S#=SC.S# andISNULL(T1.score,0) + ISNULL(T2.score,0) +ISNULL(T3.score,0) + ISNULL(T4.score,0)NOT IN(SELECTDISTINCTTOP 15 WITHTIESISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) +ISNULL(T4.score,0)FROM scLEFT JOIN scAS T1ON sc.S# = T1.S# AND T1.C# = 'k1'LEFT JOIN scAS T2ON sc.S# = T2.S# AND T2.C# = 'k2'LEFT JOIN scAS T3ON sc.S# = T3.S# AND T3.C# = 'k3'LEFT JOIN scAS T4ON sc.S# = T4.S# AND T4.C# = 'k4'ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0)+ ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC)23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]SELECT SC.C# as 课程ID, Cname as 课程名称,SUM(CASE WHEN score BETWEEN 85 AND100 THEN 1 ELSE 0 END) AS [100 - 85] ,SUM(CASE WHEN score BETWEEN 70 AND85 THEN 1 ELSE 0 END) AS [85 - 70] ,SUM(CASE WHEN score BETWEEN 60 AND70 THEN 1 ELSE 0 END) AS [70 - 60] ,SUM(CASE WHEN score < 60 THEN 1ELSE 0 END) AS [60 -]FROM SC,Coursewhere SC.C#=Course.C#GROUP BY SC.C#,Cname24、查询学生平均成绩及其名次25、查询各科成绩前三名的记录:(不考虑成绩并列情况)26、查询每门课程被选修的学生数select c#,count(S#) from sc group by C#27、查询出只选修了一门课程的全部学生的学号和姓名select SC.S#,Student.Sname,count(C#) AS 选课数from SC ,Studentwhere SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=128、查询男生、女生人数Select count(Ssex) as 男生人数 fromStudent group by Ssex having Ssex='男' Select count(Ssex) as 女生人数 fromStudent group by Ssex having Ssex='女'29、查询姓“张”的学生名单SELECT Sname FROM Student WHERE Sname like '张%'30、查询同名同姓学生名单,并统计同名人数select Sname,count(*) from Student group by Sname having count(*)>131、1981年出生的学生名单(注:Student表中Sage列的类型是datetime)select Snamefrom studentwhere year(Sage)='1981'32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列Select C#,Avg(score) from SC group by C# order by Avg(score),C# DESC33、查询平均成绩大于85的所有学生的学号、姓名和平均成绩select Sname,SC.S# ,avg(score)from Student,SCwhere Student.S#=SC.S# group by SC.S#,Sname having avg(score)>8534、查询课程名称为“数据库”,且分数低于60的学生姓名和分数Select Sname,isnull(score,0)from Student,SC,Coursewhere SC.S#=Student.S# and SC.C#=Course.C# and ame='数据库'and score <6035、查询所有学生的选课情况;SELECT SC.S#,SC.C#,Sname,CnameFROM SC,Student,Coursewhere SC.S#=Student.S# and SC.C#=Course.C#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;SELECT distinct student.S#,student.Sname,SC.C#,SC.scoreFROM student,ScWHERE SC.score>=70 AND SC.S#=student.S#37、查询不及格的课程,并按课程号从大到小排列select c# from sc where scor e <60 order by C#38、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;select SC.S#,Student.Snamefrom SC,StudentwhereSC.S#=Student.S# and Score>80 and C#='003'39、求选了课程的学生人数select count(*) from sc40、查询选修“张三”老师所授课程的学生中,成绩最高的学生姓名及其成绩select Student.Sname,scorefrom Student,SC,Course C,Teacherwhere Student.S#=SC.S# and SC.C#=C.C# and C.T#=Teacher.T#and Teacher.Tname='张三' andSC.score=(select max(score) from SC where C#=C.C# )41、查询各个课程及相应的选修人数select count(*) from sc group by C#42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SC WHERE t1.C#= C# ORDER BYscore DESC ) ORDER BY t1.C#44、统计每门课程的学生选修人数(超过10人的课程才统计)。
数据库实验3-SQL语言之数据查询(简单查询)
![数据库实验3-SQL语言之数据查询(简单查询)](https://img.taocdn.com/s3/m/c561990ebf1e650e52ea551810a6f524ccbfcbe3.png)
实验三SQL数据查询(简单查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行单表查询,掌握GROUP BY子句、HA VING 子句和集函数;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。
【实验内容】3.0. 实验准备与说明本实验将用到实验二中数据库SalesDB和相应的表及数据,若该数据库及表尚未创建,或数据尚未录入,则请先完成之。
请根据前面实验创建的表结构和数据,完成如下查询。
本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义3.1.简单查询(1).查询各种产品的产品编号、产品名称和价格。
请给出相应语句:USE SalesDB;SELECT Pno,Pname,Price FROM Product;请给出运行结果:(2).查询所在城市为“厦门”的客户编号和客户名称,结果中各列的标题分别指定为:“客户编号”和“客户名称”显示。
请给出相应语句:SELECT Cno as客户编号,Cname as客户名称FROM Customer WHERE City='厦门';请给出运行结果:(3).查询各产品编号、名称、库存量和产品总值。
(总值:价格与库存数量的积)请给出相应语句:SELECT Pno,Pname,Price ,Stocks FROM Product;SELECT SUM(Price*Stocks)as产品总值FROM Product;请给出运行结果:(4).查询曾购买过产品的客户编号(不重复)。
请给出相应语句:SELECT Cno FROM Customer;请给出运行结果:(5).查询价格在1000-2000的产品信息,并依价格由低到高的顺序排序。
(请使用Between…and和算术比较运算符分别实现)a.使用Between…and比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price between 1000 and 2000order by Price;请给出运行结果:b.使用算术比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price >= 1000 and Price<=2000order by Price;请给出运行结果:(6).查询产品名称含有“热水器”的产品信息。
数据库中SQL查询语句习题含答案
![数据库中SQL查询语句习题含答案](https://img.taocdn.com/s3/m/cb95ed267fd5360cba1adb89.png)
查询问题:设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME )(1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名;(8)查询所学课程包含学生S3所学课程的学生学号。
(1)检索计算机系的全体学生的学号,姓名和性别;SELECT Sno ,Sname ,Sex FROM SWHERE Sdept =’CS ’;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名 本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。
C → SC → S基本思路:(1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ;(3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。
SELECT Sno ,Sname FROM SWHERE Sno IN (SELECT Sno FROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname=‘DS ’));(4)检索选修课程号为C2或C4的学生学号;SELECT Sno FROM SCWHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号; SELECT SnoFROM SC X ,SC YWHERE = AND =‘C2’ AND =‘C4’ ;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;在表S 中找学生,要求这个学生学了全部课程。
学生选课系统sql大作业
![学生选课系统sql大作业](https://img.taocdn.com/s3/m/d4cc6a052a160b4e767f5acfa1c7aa00b52a9d8d.png)
学生选课系统sql大作业学生选课系统是一个常见的教务管理系统,用于管理学生的选课信息和课程安排。
在这个大作业中,我们将设计一个学生选课系统的数据库,并编写相应的SQL查询语句来实现系统的功能。
首先,我们需要设计数据库的表结构。
一个基本的学生选课系统通常包括以下几个主要的表:1. 学生表(Students):用于存储学生的基本信息,如学生ID、姓名、性别、年龄等。
2. 课程表(Courses):用于存储课程的信息,如课程ID、课程名称、教师ID等。
3. 教师表(Teachers):用于存储教师的信息,如教师ID、姓名、性别、年龄等。
4. 选课表(Enrollments):用于存储学生选课的记录,包括学生ID、课程ID等。
接下来,我们可以编写一些常用的SQL查询语句来实现系统的功能:1. 查询所有学生的信息:```SELECT * FROM Students;```2. 查询所有课程的信息:```SELECT * FROM Courses;```3. 查询所有教师的信息:```SELECT * FROM Teachers;```4. 查询某个学生的选课情况:```SELECT Courses.CourseName FROM EnrollmentsJOIN Courses ON Enrollments.CourseID = Courses.CourseID WHERE Enrollments.StudentID = '学生ID';```5. 查询某个课程的选课人数:```SELECT COUNT(*) FROM Enrollments WHERE CourseID = '课程ID';```6. 查询某个教师所教的课程:```SELECT Courses.CourseName FROM CoursesJOIN Teachers ON Courses.TeacherID = Teachers.TeacherID WHERE Teachers.TeacherID = '教师ID';```7. 添加一条学生选课记录:```INSERT INTO Enrollments (StudentID, CourseID) VALUES ('学生ID', '课程ID');```8. 删除一条学生选课记录:```DELETE FROM Enrollments WHERE StudentID = '学生ID' AND CourseID = '课程ID';```以上是一些基本的SQL查询语句,可以根据实际需求进行调整和扩展。
查询数据库的sql语句
![查询数据库的sql语句](https://img.taocdn.com/s3/m/866da9c8900ef12d2af90242a8956bec0875a577.png)
查询数据库的sql语句
查询数据库的SQL语句可以根据具体的需求而定,以下是一些常用的查询语句:1. 查询表中所有数据:
SELECT * FROM 表名;
2. 查询表中指定列的数据:
SELECT 列名1, 列名2, ... FROM 表名;
3. 查询表中符合条件的数据:
SELECT * FROM 表名 WHERE 条件;
4. 查询表中符合条件的数据并按照指定列排序:
SELECT * FROM 表名 WHERE 条件 ORDER BY 列名 ASC/DESC;
5. 查询表中符合条件的数据并统计数量:
SELECT COUNT(*) FROM 表名 WHERE 条件;
6. 查询表中符合条件的数据并计算平均值、最大值、最小值等:
SELECT AVG(列名), MAX(列名), MIN(列名) FROM 表名 WHERE 条件;
7. 查询表中符合条件的数据并分组统计:
SELECT 列名, COUNT(*) FROM 表名 WHERE 条件 GROUP BY 列名;
8. 查询表中符合条件的数据并进行多表联合查询:
SELECT * FROM 表名1 INNER JOIN 表名2 ON 表名1.列名 = 表名2.列名 WHERE 条件;
以上是一些常用的查询语句,具体的查询语句还需要根据具体的需求而定。
SQL查询(图书数据库-题目)
![SQL查询(图书数据库-题目)](https://img.taocdn.com/s3/m/5630d372f46527d3240ce0e1.png)
SQL查询设有一图书馆数据库,包括三个表:图书表、读者表、借阅表。
三个表的结构如下图所示。
要求:完成以下习题。
表1图书表结构表2读者表结构表3借阅表结构(1)创建图书馆数据库1.用SQL语句创建图书馆数据库。
答:CREATE DATABASE 图书馆(2)创建图书馆数据库的三个表。
(在SQL Server 2008平台环境下实现)2.创建图书表3.创建读者表4.创建借阅表(3)针对以上三个表,用SQL语言完成以下各项查询:5.查询全体图书的信息,其中单价打8折,并且将该列设置别名为’打折价’。
6.显示所有借阅者的读者号,并去掉重复行。
7.查询所有单价不在20到30之间的图书信息。
8.查询机械工业出版社、科学出版社、人民邮电出版社的图书信息9.查询既不是机械工业出版社、也不是科学出版社出版的图书信息10.查找姓名的第二个字符是’建’并且只有两三个字符的读者的读者号、姓名。
11.查找姓名不是以’王’、’张’或’李’开头的所有读者的读者号、姓名。
12.查询无归还日期的借阅信息。
13.查询机械工业出版社或科学出版社出版的图书名,出版社,单价。
14.求读者的总人数15.求借阅了图书的读者的总人数16.求机械工业出版社图书的平均价格、最高价、最低价。
17.查询借阅图书本数超过2本的读者号、总本数。
并按借阅本数值从大到小排序。
(4)针对以上三个表,用SQL语言完成以下各项多表连接查询、子查询、组合查询18.查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。
19.查询借阅了机械工业出版社出版,并且书名中包含’数据库’三个字的图书的读者,显示读者号、姓名、书名、出版社,借出日期、归还日期。
20.查询至少借阅过1本机械工业出版社出版的书的读者的读者号、姓名、书名,借阅本数,并按借阅本数多少降序排列。
21.查询与’王平’的办公电话相同的读者的姓名。
22.查询办公电话为’88320701’的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅的读者,显示他们的读者号、姓名、书名、借阅日期。
数据库实验二,sql查询语句
![数据库实验二,sql查询语句](https://img.taocdn.com/s3/m/d681be2058fb770bf78a55d6.png)
实验二:数据查询语言实验内容SQL数据查询语句:例5-1:(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。
select sno,sname,sex,sage from student;例5-2:(不选择重复行) 求选修了课程的学生学号。
select distinct cno from sc where cno is not null;例5-3:(选择表中的所有列) 求全体学生的详细信息。
select * from student;例5-4:(使用表达式) 求全体学生的学号、姓名和出生年份。
select sno,sname,birthday from student;例5-5:(使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。
select sno as"学号",birthday as"出生年份" from student;例5-6:(比较大小条件) 求年龄大于19岁的学生的姓名和年龄。
select sname,age from studentwhere age>19;例5-7:(比较大小条件) 求计算机系或经济管理系年龄大于18岁的学生的姓名、系和年龄。
select sname,depname ,agefrom student,departmentwhere student.depno=department.depnoand age>18;例5-8:(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。
select sno,age from studentwhere age in(19,22);例5-9:(确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。
select sno,age from studentwhere age not in(19,22);例5-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。
查询 dbms_jobs 的语句
![查询 dbms_jobs 的语句](https://img.taocdn.com/s3/m/9b97262bae1ffc4ffe4733687e21af45b307febe.png)
查询 dbms_jobs 的语句DBMS_Jobs是Oracle数据库中用于处理作业调度的包,可以用于创建、修改、删除和执行作业。
下面是关于查询DBMS_Jobs的语句的列举,以供参考:1. 查询所有作业:```sqlSELECT * FROM dba_jobs;```这条语句将返回所有在数据库中定义的作业的信息。
2. 查询指定作业的详细信息:```sqlSELECT * FROM dba_jobs WHERE job = job_number;```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的详细信息。
3. 查询作业的状态:```sqlSELECT * FROM dba_jobs_running;```这条语句将返回当前正在运行的作业的信息。
4. 查询作业的调度时间:```sqlSELECT * FROM dba_jobs_running WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的调度时间信息。
5. 查询作业的最后一次运行状态:```sqlSELECT * FROM dba_jobs_last WHERE job = job_number;```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的最后一次运行状态。
6. 查询作业的运行历史:```sqlSELECT * FROM dba_jobs_history WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的运行历史记录。
7. 查询作业的下次运行时间:```sqlSELECT next_date FROM dba_jobs WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的下次运行时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所有这些题目针对的是样本数据库,需要先把样本数据库附加到自己机器的DBMS中。
题目分为5个等级,1级是最简单的,5级是最难的。
在Microsoft SQL Server Management Studio中,展开到刚才附加好的NorthwindCS数据库,右击鼠标,点击“新建查询”,如图
在“新建查询”中完成下述功能的SQL语句
1.显示所有雇员的姓名、职务和家庭电话。
(等级1)
2.显示在“1993年1月1日”之后入职的雇员的姓名和职务。
(等级2)
3.统计当前雇员中一共有哪几种职务。
(等级2)
4.显示40岁以下的雇员信息。
(等级5)
5.显示20世纪60年代出生的雇员的信息。
(等级2)
6.显示“王伟”直接领导的雇员的姓名和职务。
(等级3)
7.显示客户都分布在哪些地区,每个地区有多少个客户。
(等级2)
8.显示客户公司名称当中含有“业”字的公司名称、地址和电话。
(等级2)
9.显示单价介于10元到30元(包含10元和30元)的产品名称和单价。
(等级2)
10.显示客户订货的情况,要求显示客户公司名称、订购的产品名称、供应商名称以及运货
商名称。
(等级3)
11.求1997年的交易总额(打折之后)。
(等级2)
12.求1997年运货商“联邦货运”总的运货费用。
(等级2)
13.显示每一类别产品当中的最高价格,要求显示类别名称和最高价格。
(等级4)
14.显示每一类别产品中最高价格的产品名称以及价格。
(等级5)
15.显示所有客户订货的情况,如果已经订货,显示客户名称及其运货商名称;如果没有订
货,只显示客户名称,运货商名称部分显示空值。
(等级4)
16.显示每一类产品中超过该类产品平均价格的产品名称、类别名称、产品单价。
(等级5)
17.显示拥有自己主页的供应商的公司名称和联系人姓名。
(等级2)
18.显示最小的雇员所接的订单,要求显示雇员的姓名、年龄、订单ID、到货日期和发货
日期。
(等级3)
19.显示供应商分布在哪些地区,以及在每个地区的城市数量。
(等级2)
20.求1997年第一季度的业绩冠军信息,要求显示雇员姓名及其该季度销售总额(只统计
打折之前的金额)。
(等级5)
21.求1997年度的销售清单,要求显示雇员姓名、订单ID、产品名、销售额(打折后的实
际金额),并按照销售额降序排列。
(等级3)
22.显示1997年第二季度到第四季度每位雇员的销售总额(打折后的实际金额),并按照销
售总额降序排列。
(等级3)
23.1997年哪个地区的客户订货金额最大(打折之前),要求显示客户名和订货金额。
(等
级4)
24.显示“东北”、“华北”、“西北”三个地区的客户信息。
(等级2)
25.1997年哪个运货商运货的次数(承接订货合同的次数)最多,要求显示运货商的名称
和次数。
(等级4)
26.1996年第四季度中哪天接到的订单最多,要求显示那天的日期和订单数量。
(等级4)
27.雇员孙林哪天接的订单金额(打折之前)最多?要求显示当天具体的每一笔业务数据。
(等级5)
28.联系过所有运货商的雇员的姓名。
(等级5)
29.求1996年第四季度每个运货商的总运货费用,没超过2000元的不显示。
(等级3)
30.创建一张“仓库表”,包含以下字段和约束条件:
仓库ID,自增字段,从1开始编号,每次自动加1,为该表的主码;
仓库位置,变长字符长,最大长度40位,非空;
仓库容积,整型,要求容积大于0;
供应商ID,整型,外码,参照供应商表格的供应商ID。
(等级2)。