sql的作业(简单查询)

合集下载

sql查询练习

sql查询练习

1.查询全体学生的学号和姓名.select 学号,姓名from 学生2.查询全体学生的姓名,学号,所在系.select 学号,姓名,系from 学生3.查询全体学生的详细记录select * from 学生4.查询全体学生的姓名及其出生年份select 姓名,2006-年龄from 学生[意思是2008减年龄]5.查询选修了课程的学生学号select distinct学号from 选课6.查询2系全体学生的名单.select 姓名from 学生where 系=”2”7.查询所有年龄在20岁以下的学生姓名及年龄.select 姓名,年龄from 学生where 年龄<=208.查询考试成绩有不及格的学生的学号.select distinct 学号from 选课where 成绩<609.查询年龄在20~~23岁(包括20和23岁)之间的的学生的姓名,系别,年龄.select 姓名,系,年龄from 学生where 年龄between 20 and 2310.查询1系,2系,3系的学生的姓名和性别select 姓名,性别from 学生where 系别in (“1”,”2”,”3”) [in 实际上是多个or 运算符的缩写]。

我们也可以写成这样:select 姓名,性别from 学生where 系=’1’or 系=’2’or 系=’3’11.查询既不是1系,2系也不是3系的学生的姓名和性别.select 姓名,性别from 学生where 系not in (“1”,”2”,”3”)12.查询学号为s3的学生的详细情况.select * from 学生where 学号like “s3”)或者(select * from 学生where 学号=”s3”13.查询所有的姓刘的学生的姓名,学号和性别.select 姓名,学号,性别from 学生where 姓名like ‘刘%’14.查询姓”欧阳”且全名为三个字的学生的姓名.select 姓名from 学生where 姓名like “欧阳_ ”15.查询名字中第二个字为”阳”字的学生的姓名和学号.select 姓名,学号from 学生where 姓名like “ _阳%”16.某些学生选修课程后没有参加考试,所以有选课记录,但是没有考试成绩.查询缺少成绩的学生的学号和相应的课程号select 学号,课程号from 选课where 成绩is null17.查询所有有成绩的学生学号和课程号.select 学号,课程号from 选课where 成绩is not null18.(多重条件查询)查询1系年龄在20岁以下的学生姓名.select 姓名from 学生where 系=’1’and 年龄<2019.(对查询结果进行排序)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列.select 学号,成绩,from 选课where 课程号=’3’ order by 成绩desc20.查询全体学生情况,查询结果按所在系的系号升序排列,同一个系的学生按年龄降序排列.select * from 学生order by 系, 年龄desc21.(使用集函数)查询学生总人数.select count(*) from 学生[count的功能是计数]22.查询选修了课程的学生的总人数.select count (distinct 学号) from 选课23.计算1号课程的学生的平均成绩.select avg(成绩) from 选课where 课程号=’1’24.查询选修1号课程的学生最高分数.select max(成绩) from 选课where 课程号=’1’25.求各个课程号及相应的选课人数.select 课程号,count(学号) from 选课group by 课程号26. 查询选修了3门以上课程的学生的学号.select 学号from 选课group by 学号having count(*)>3[这里先用group by 子句按学号分组,再用集函数count 对每一组计数.having 短语指定选择组的条件,只有满足条件(即元组的个数>3,表示此学生选修的课程超过3门)的组才会被选出来.where 子句与having 短语的区别在于作用的对象不同.where子句作用于基本表或视图,从中选择满足条件的元组.having 短语作用于组,从中选择满足条件的组.]27. 查询每个学生及其选修课程的情况。

查询及sql语句作业

查询及sql语句作业

查询以及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语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。

3.熟练掌握各种查询条件的表示。

4.掌握排序和分组操作在SQL语句中的实现。

5.掌握集函数的使用。

实验内容;1.创建学生表tudent、课程表coure和选课表SC,并输入数据(注意数据的完整性。

);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;1)查询全体学生的学号和姓名2)3)4)5)6)7)8)9)查询全体学生的详细记录查询所有选修过课程的学生学号查询考试有不及格的学生学号查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别查询选修了4号课的学生学号和成绩,结果按成绩降序排列查询每个课程号和相应的选课人数查询计算机系(CS)的学生姓名、年龄、系别查询年龄18-20岁的学生学号、姓名、系别、年龄;10)查询姓刘的学生情况11)查询既选修1号课程,又选修2号课程的学生学号12)查询学生的姓名和出生年份(今年2003年)13)查询没有成绩的学生学号和课程号14)查询总成绩大于200分的学生学号15)查询每门课程不及格学生人数16)查询不及格课程超过3门的学生学号17)查询年龄在10到19岁之间的学生信息18)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列19)查询选了1号课程的学生平均成绩20)查询选了3号课程的学生的最高分21)查询每个同学的总成绩实验步骤与过程:1.创建学生表tudent、课程表coure和选课表SC,使用实验一中已经建立的表和数据。

2.并输入数据,设置主键。

3.建立索引及三表之间关系。

4.按照SQL语句格式及题目要求输入语句进行以下查询:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。

sql测试案例

sql测试案例

sql测试案例
一、查询所有学生信息。

1. SQL语句。

`SELECT FROM students;`.
2. 口语化解释。

这个语句就像是在说“把students表里面的所有东西(也就是每一行每一列的信息)都给我拿出来看看”。

就好比你在一个装满学生档案的大箱子里,你说把所有的档案都拿出来摊在桌子上,这样你就能看到每个学生的学号、姓名、年龄和年级啦。

二、查询年龄大于18岁的学生姓名和年龄。

1. SQL语句。

`SELECT name, age FROM students WHERE age > 18;`.
2. 口语化解释。

这条语句的意思呢,就是从students这个“学生大集合”里,挑出那些年龄超过18岁的学生。

然后呢,只把他们的姓名和年龄这两项信息拿出来给我看。

就好像在一群学生里,你先找出那些成年了(年龄大于18岁)的学生,然后只记录下他们叫什么名字和多大年纪,其他的信息(比如学号和年级)就先不管啦。

三、查询年级为二年级的学生数量。

1. SQL语句。

`SELECT COUNT() FROM students WHERE grade = '二年级';`。

2. 口语化解释。

这里呀,我们是想知道在students这个表里面,有多少学生是二年级的。

COUNT()这个函数就像是一个小助手,它会帮我们数一下满足“年级是二年级”这个条件的学生有多少个。

就好比你在一群学生里,数一下戴红色帽子(假设红色帽子代表二年级)的学生有多少个一样。

sql开发题

sql开发题

1. 编写一个SQL查询,列出所有员工的姓名和工资,按照工资降序排列。

解析:首先需要从员工表中选择姓名和工资字段,然后按照工资降序排列。

```sqlSELECT name, salaryFROM employeesORDER BY salary DESC;```2. 编写一个SQL查询,找出每个部门的平均工资。

解析:首先需要计算每个部门的工资总和,然后除以员工数量得到平均工资。

可以使用GROUP BY子句按部门分组,并使用AVG函数计算平均工资。

```sqlSELECT department, AVG(salary) as average_salaryFROM employeesGROUP BY department;```3. 编写一个SQL查询,找出工资高于部门平均工资的员工。

解析:首先需要计算每个部门的平均工资,然后找出工资高于这个平均数的员工。

可以使用子查询来实现。

```sqlSELECT , e1.salary, e1.departmentFROM employees e1, (SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department) e2WHERE e1.salary > e2.average_salary AND e1.department = e2.department;```4. 编写一个SQL查询,找出每个部门工资排名前5的员工。

解析:可以使用窗口函数ROW_NUMBER()来实现。

首先按照部门和工资降序排列,然后为每个员工分配一个排名,最后只选择排名前5的员工。

```sqlWITH ranked_employees AS (SELECT name, salary, department, ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) as rankFROM employees)SELECT name, salary, department FROM ranked_employees WHERE rank <= 5;```。

sql查询50题

sql查询50题

sql查询50题/*⼀个项⽬涉及到的50个Sql语句问题及描述:--1.学⽣表Student(S#,Sname,Sage,Ssex) --S# 学⽣编号,Sname 学⽣姓名,Sage 出⽣年⽉,Ssex 学⽣性别--2.课程表Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表SC(S#,C#,score) --S# 学⽣编号,C# 课程编号,score 分数select * from Studentselect * from Courseselect * from Teacherselect * from SC*/--创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男')insert into Student values('02' , N'钱电' , '1990-12-21' , N'男')insert into Student values('03' , N'孙风' , '1990-05-20' , N'男')insert into Student values('04' , N'李云' , '1990-08-06' , N'男')insert into Student values('05' , N'周梅' , '1991-12-01' , N'⼥')insert into Student values('06' , N'吴兰' , '1992-03-01' , N'⼥')insert into Student values('07' , N'郑⽵' , '1989-07-01' , N'⼥')insert into Student values('08' , N'王菊' , '1990-01-20' , N'⼥')create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10))insert into Course values('01' , N'语⽂' , '02')insert into Course values('02' , N'数学' , '01')insert into Course values('03' , N'英语' , '03')create table Teacher(T# varchar(10),Tname nvarchar(10))insert into Teacher values('01' , N'张三')insert into Teacher values('02' , N'李四')insert into Teacher values('03' , N'王五')create table SC(S# varchar(10),C# varchar(10),score decimal(18,1))insert into SC values('01' , '01' , 80)insert into SC values('01' , '02' , 90)insert into SC values('01' , '03' , 99)insert into SC values('02' , '01' , 70)insert into SC values('02' , '02' , 60)insert into SC values('02' , '03' , 80)insert into SC values('03' , '01' , 80)insert into SC values('03' , '02' , 80)insert into SC values('03' , '03' , 80)insert into SC values('04' , '01' , 50)insert into SC values('04' , '02' , 30)insert into SC values('04' , '03' , 20)insert into SC values('05' , '01' , 76)insert into SC values('05' , '02' , 87)insert into SC values('06' , '01' , 31)insert into SC values('06' , '03' , 34)insert into SC values('07' , '02' , 89)insert into SC values('07' , '03' , 98)go--1、查询"01"课程⽐"02"课程成绩⾼的学⽣的信息及课程分数--1.1、查询同时存在"01"课程和"02"课程的情况--1.2、查询同时存在"01"课程和"02"课程的情况和存在"01"课程但可能不存在"02"课程的情况(不存在时显⽰为null)(以下存在相同内容时不再解释)--2、查询"01"课程⽐"02"课程成绩低的学⽣的信息及课程分数--2.1、查询同时存在"01"课程和"02"课程的情况--2.2、查询同时存在"01"课程和"02"课程的情况和不存在"01"课程但存在"02"课程的情况--3、查询平均成绩⼤于等于60分的同学的学⽣编号和学⽣姓名和平均成绩--4、查询平均成绩⼩于60分的同学的学⽣编号和学⽣姓名和平均成绩--4.1、查询在sc表存在成绩的学⽣信息的SQL语句。

学生选课系统sql大作业

学生选课系统sql大作业

学生选课系统sql大作业当涉及到学生选课系统的SQL大作业时,以下是一些可能涉及的表和相关SQL查询的示例:1. 学生表(Students):- 学生ID(StudentID)- 学生姓名(StudentName)- 年级(Grade)- 专业(Major)2. 课程表(Courses):- 课程ID(CourseID)- 课程名称(CourseName)- 教师ID(TeacherID)- 学分(Credits)3. 教师表(Teachers):- 教师ID(TeacherID)- 教师姓名(TeacherName)- 所属学院(College)4. 选课记录表(Enrollments):- 学生ID(StudentID)- 课程ID(CourseID)- 成绩(Grade)示例查询:1. 获取所有学生的姓名和所选课程的名称:```SELECT Students.StudentName, Courses.CourseNameFROM StudentsINNER JOIN Enrollments ON Students.StudentID = Enrollments.StudentIDINNER JOIN Courses ON Enrollments.CourseID = Courses.CourseID;```2. 获取特定学生的选课情况及成绩:```SELECT Students.StudentName, Courses.CourseName, Enrollments.GradeFROM StudentsINNER JOIN Enrollments ON Students.StudentID = Enrollments.StudentIDINNER JOIN Courses ON Enrollments.CourseID = Courses.CourseIDWHERE Students.StudentID = '学生ID';```3. 获取某门课程的平均成绩:```SELECT AVG(Grade) AS AverageGradeFROM EnrollmentsWHERE CourseID = '课程ID';```4. 获取某个教师所教授的课程及学生选课情况:```SELECT Teachers.TeacherName, Courses.CourseName, Students.StudentNameFROM TeachersINNER JOIN Courses ON Teachers.TeacherID = Courses.TeacherIDINNER JOIN Enrollments ON Courses.CourseID = Enrollments.CourseIDINNER JOIN Students ON Enrollments.StudentID = Students.StudentIDWHERE Teachers.TeacherID = '教师ID';```这些仅是示例查询,具体的SQL查询语句和数据库设计会根据需求和具体情况有所变化。

SQL查询语句练习作业

SQL查询语句练习作业

一、创建名为“student”的表,结构见表1,内容见表2表1 student表结构字段名类型宽度学号字符型10姓名字符型10性别字符型 4出生日期日期型8专业字符型20年级数值型10表2 student表二、练习SQL查询语句——基础的select格式: select 字段名 from 表名1、写出查找student表中所有字段的语句,并在命令窗口测试2、写出查找student表中学号的语句,并在命令窗口测试3、写出查找student表中姓名的语句,并在命令窗口测试4、写出查找student表中性别的语句,并在命令窗口测试5、写出查找student表中出生日期的语句,并在命令窗口测试6、写出查找student表中专业的语句,并在命令窗口测试7、写出查找student表中年级的语句,并在命令窗口测试8、写出查找student表中学号和姓名的语句,并在命令窗口测试(注意逗号是英文状态)9、写出查找student表中学号、姓名和性别的语句,并在命令窗口测试10、写出查找student表中学号、姓名、性别和出生日期的语句,并在命令窗口测试11、写出查找student表中学号、姓名、性别、出生日期和专业的语句,并在命令窗口测试12、写出查找student表中学号、姓名、性别、出生日期、专业和年级的语句,并在命令窗口测试三、练习SQL查询语句——where条件查询格式: select 字段名 from 表名 where 条件1、查找student表中学号是101001的学生,写出语句,并在命令窗口测试2、查找student表中李玲的个人信息,写出语句,并在命令窗口测试3、查找student表中所有的男学生,写出语句,并在命令窗口测试4、查找student表中的在1992年3月1日(含)之后出生的学生,写出语句,并在命令窗口测试5、查找student表中信息管理专业的学生,写出语句,并在命令窗口测试6、查找student表中2012级的学生,写出语句,并在命令窗口测试四、练习SQL查询语句——where条件查询AND OR格式: select 字段名 from 表名 where 条件1 and/or 条件21、查找student表中学号为121001和131005的学生信息,写出语句,并在命令窗口测试2、查找student表中李泽田和王海东的个人信息,写出语句,并在命令窗口测试3、查找student表中工商管理专业的男生信息,写出语句,并在命令窗口测试4、查找student表中在1992年和1993年出生的学生,写出语句,并在命令窗口测试5、查找student表中信息管理专业和工商管理专业的女学生,写出语句,并在命令窗口测试6、查找student表中2012级和2013级中1993年出生的学生,写出语句,并在命令窗口测试五、练习SQL查询语句——where条件查询like格式: select 字段名 from 表名 where 字段名like 套式1、查找student表中姓王的学生信息,写出语句,并在命令窗口测试2、查找student表中姓王和姓贾的学生信息,写出语句,并在命令窗口测试3、查找student表中姓王、姓贾和姓李的学生信息,写出语句,并在命令窗口测试4、查找student表中姓名中含“泽”的学生信息,写出语句,并在命令窗口测试5、查找student表中姓名中含“文”的学生信息,写出语句,并在命令窗口测试6、查找student表中姓名中最后1个字是“玲”的学生信息,写出语句,并在命令窗口测试7、查找student表中姓名中最后1个字是“文”的学生信息,写出语句,并在命令窗口测试8、查找student表中姓名有3个字,中间的字是“文”的学生,写出语句,并在命令窗口测试9、查找student表中姓王的男生信息,写出语句,并在命令窗口测试10、查找student表中姓王和姓李的女生信息,写出语句,并在命令窗口测试11、查找student表中姓名中含“文”的女生信息,写出语句,并在命令窗口测试六、练习SQL查询语句——where条件查询between格式: select 字段名 from 表名 where 字段名between 值1 and 值2 1、查找student表中在1992年出生的学生,写出语句,并在命令窗口测试2、查找student表中在1992年和1993年出生的学生,写出语句,并在命令窗口测试3、查找student表中在2010级、2011级、2012级的学生,写出语句,并在命令窗口测试七、练习SQL查询语句——where条件查询order by格式: select 字段名 from 表名 where 条件 order by 字段名 asc/desc 1、把student表中的学生信息按学号降序排列显示,写出语句,并在命令窗口测试2、把student表中的学生信息按姓名降序排列显示,写出语句,并在命令窗口测试3、把student表中的学生信息按姓名升序排列显示,写出语句,并在命令窗口测试4、把student表中的学生信息按年龄升序排列显示,写出语句,并在命令窗口测试5、把student表中的学生信息按年龄降序排列显示,写出语句,并在命令窗口测试6、查找student表中所有的男生,并按学号降序排列,写出语句,并在命令窗口测试6、查找student表中所有的女生,并按姓名升序排列,写出语句,并在命令窗口测试7、查找student表中的在1992年出生的学生,并按年龄降序排列,写出语句,并在命令窗口测试8、查找student表中信息管理专业的学生,并按照姓名降序排列,写出语句,并在命令窗口测试9、把student表中的学生信息按性别分类显示,男生在前,女生在后,男生和女生,各自按照姓名升序排列,写出语句,并在命令窗口测试八、练习SQL查询语句——where条件查询count格式: select count(*) from 表名 where 条件1、统计student表中的学生总人数,写出语句,并在命令窗口测试2、统计student表中男生人数,写出语句,并在命令窗口测试3、统计student表中姓王的人数,写出语句,并在命令窗口测试。

数据库实验3-SQL语言之数据查询(简单查询)

数据库实验3-SQL语言之数据查询(简单查询)

实验三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作业编写

好的,以下是一个简单的SQL作业:
1. 查询员工表中所有员工的姓名和工资。

解析:需要编写一个SELECT语句,从员工表中选择姓名和工资字段。

代码:
```sql
SELECT name, salary FROM employees;
```
2. 查询部门表中所有部门的名称和经理的姓名。

解析:需要编写一个SELECT语句,从部门表中选择名称和经理姓名字段。

代码:
```sql
SELECT department_name, manager_name FROM departments;
```
3. 查询员工表中年龄大于30的员工姓名、年龄和工资。

解析:需要编写一个SELECT语句,从员工表中选择姓名、年龄和工资字段,并使用WHERE子句过滤年龄大于30的员工。

代码:
```sql
SELECT name, age, salary FROM employees WHERE age > 30;
```
4. 查询员工表中工资高于平均工资的员工姓名和工资。

解析:需要编写一个SELECT语句,从员工表中选择姓名和工资字段,并使用HAVING 子句过滤工资高于平均工资的员工。

代码:
```sql
SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);
```。

sql作业2

sql作业2

1.按照籍贯统计每个省的平均入学成绩。

Select avg(入学成绩)From 学生Group by 贯籍2.查询89年6月15日以后出生的学生的名单。

Select 姓名From 学生Where 出生日期>”19890615”3查询1989年出生的学生信息。

Select *From 学生Where 出生日期like “1989*”4求选修“102”号课,成绩大于78分的学生的学号及成绩,并按成绩由高到低列出。

Select 学号,成绩From 成绩Where 课程号=”102” and 成绩>”78Order by desc”5.求出总分大于230的学生的学号,姓名及总成绩。

Select 学生.学号,学生.姓名,sum(成绩)as “总成绩”From 学生,成绩Where 成绩>(select sum(成绩) from 成绩where )6.求选修必修课学生的学号,课程号,成绩的情况。

Select 学生.学号,成绩.课程号,成绩.成绩From 学生,成绩,课程Where 学生.学号=成绩.学号and 成绩.课程号=课程.课程号Group by 是否选修7.列出所有学生选修的课程号,去掉重复值。

Select distinct 课程号From 成绩8.列出选修英语的所有学生的学号。

Select 学号From 成绩Where 课程号=(select 课程号from 课程where 课程名=”大学英语”)9.列出成绩为满分的学生的学号和课号。

Select distinct学号,课号From 成绩Where 成绩=”100”10..列出各门课的平均成绩、最高成绩、最低成绩和选课人数。

Select avg(成绩),max(成绩),min(成绩),count(学号)From 成绩Group by 课程号11.查询经济系的党员的学号,姓名。

Select 学号,姓名From 学生Where 是否党员and 系号=(select 系号from 系名where 系名=”国际经济与贸易”)12,查询选修了“邓小平理论”课的学生学号,姓名。

SQL作业

SQL作业

创建一个教务数据库,建立三个表(学生表,课程表和选课表),完成下面操作,将过程和结果都放到一个word文档中。

上面做完后,如果有时间做下面的。

1、在student的sname创建唯一索引create unique index studentsname onstudent(sname)2、创建视图:没有选修数据库课程的学生信息Select sno, sex,sname , sage from student where sno not in ( select sno from sc where cno=’数据库’ )3、插入学生信息sno 为201101,姓名为王军,年龄为19INSERT INTO student VALUES('201101','王军',’19’)GO4、将计算机系的学生的成绩加上10Update student set grade=grade+10 where sdept=’JSJ’5、删除计算机系的学生信息Delete form student where sdept=’JSJ’6、.查询姓刘的学生年龄Select ageForm studentWhere sname like ‘刘%’7、.查询计算机系男生的年龄Select ageForm studentWhere sex=’男’ and sdept=’JSJ’8、查询名字中有晨的学生的姓名Select snameForm studentWhere sname like ‘%晨’9、查询先行课为空的课程名Select kname form xkb where xxk is null10、查询成绩大于80分的学生的学号Select sno form student where grade not in ()11、查询学分在3到5分的课程名字Select kname form xkb where xf<5 and xf>312、查询刘晨所选的课程的名字Select cname form xkb where sname=’刘晨’13、查询分数大于90分的女生姓名Select sname from student where sno not in ( select sno from sc where grade<90 and sex=’女’)14、查询计算机系的学生选修了哪些课程Select sno, sname ,kname form xkb where sdept=’JSJ’15、查询90分以上的学生的名字Select sname from student where sno not in ( select sno from sc where grade<90)16、查询计算机系男生的信息Select student.sno , sname ,age where sdept=’JSJ’17、查询计算机系学生的姓名Select student.sname where sd ept=’JSJ’18、查询成绩大于90分的学生成绩Select grade from student where sno not in ( select sno from sc where grade<90)19、查询选修了数据库课程的学生姓名Select sname from student where cno=’数据库’20、查询数据库课程由哪些同学选修Select sno,sname from student where cno=’数据库’。

sqlserver简单查询

sqlserver简单查询

练习册——SQL Server篇简单查询(1)●数据的输入与输出;●简单查询;●连接查询;本次练习一共需要180分钟。

翻译练习写在记事本上,基础练习写在SQL Server家庭作业本上。

给出下列缩写的英文全称,并翻译成中文,写在记事本上:1.ID2.IT3.OA4.SN5.VS6.CAD7.CAI8.CEO9.DIY把员工表数据库aaa导入,然后在做如下练习:1.显示员工表中所有列的信息。

2.查询所有员工的员工号与员工姓名。

3.查询全体员工的员工号、姓名。

(姓名要求用一个字段显示出来,并以‚姓名‛为列名)。

4.求出每个员工的年龄。

5.查询所有员工的姓名,电话号码。

(电话号码列在结果中显示为:‚您的电话号码是:‛)。

6.查询所有员工名单,并将工资降序排序。

7.查询员工来自的城市(不出现重复的城市名称)。

8.查询出工资最高的员工的姓名和工资。

9.查询出工资最低的员工的姓名和工资。

10.查询出工资大于5万元的男员工。

11.查询出员工姓名中包含字母‘P’的员工信息。

12.查询出工资介于2000元和3000元之间的员工姓名。

13.查询在100和200部门中工作的员工姓名。

14.查询员工表中共有多少名员工。

15.查询在Houston和Newton居住的员工信息。

五、基础练习:四、书面作业1、数据库中的数据如何导入与导出?2、假设有一表employee (emp_id,emp_name,sex,address, salary)写出下面的sql语句:(1)写出查询数据库employee表中前5行记录的sql语句。

(2)写出查询数据库employee表中按salary 进行排序的sql语句。

(3)查询住址不同的所有员工的地址。

预习SQL高级查询.。

SQL数据库实验三_简单查询(1)解答

SQL数据库实验三_简单查询(1)解答
查询结果:
其他:
selectemployeeName,department,
case
whensex='M'then'男'
whensex='F'then'女&#
whereemployeeNamelike'张%'
10.查询姓张且全名为三个汉字的职工姓名。
SQL语句:
SELECTemployeeName
9.查询所有姓张的职工姓名、所属部门和性别,且性别显示为“男”或“女”。
SQL语句:
SELECTemployeeName,department,sex=
casesex
WHEN'M'THEN'男'
WHEN'F'THEN'女'
ELSE'不详'
END
FROMEmployee
WHEREemployeeNameLIKE'张%'
whensalary<2000then'低收入者'
whensalary>=2000andsalary<4000then'中等收入者'
whensalary>=4000then'高收入者'
end
fromEmployee
WHEREyear(birthday)=1973ANDheadShip='职员'
查询结果:
其他:
SELECT*
FROMEmployee
WHEREyear(birthday)='1973'ANDheadShip='职员'

sql查询语句练习

sql查询语句练习

CREATE TABLE STUDENT(SNO VARCHAR2(30) NOT NULL,SNAME VARCHAR2(40) NOT NULL,SSEX VARCHAR2(20) NOT NULL,SBIRTHDAY DATE,CLASS VARCHAR2(50));CREATE TABLE COURSE(CNO VARCHAR2(50) NOT NULL,CNAME VARCHAR2(100) NOT NULL,TNO VARCHAR2(100) NOT NULL);CREATE TABLE SCORE(SNO VARCHAR2(30) NOT NULL,CNO VARCHAR2(50) NOT NULL,DEGREE NUMBER(10, 1) NOT NULL);CREATE TABLE TEACHER(TNO VARCHAR2(30) NOT NULL,TNAME VARCHAR2(40) NOT NULL,TSEX VARCHAR2(20) NOT NULL,TBIRTHDAY DATE NOT NULL,PROF VARCHAR2(60),DEPART VARCHAR2(100) NOT NULL);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,'曾华' ,'男' ,TO_DATE('1977-09-01','yyyy-mm-dd'),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,'匡明' ,'男' ,TO_DATE('1975-10-02','yyyy-mm-dd'),95031);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (107 ,'王丽' ,'女' ,TO_DATE('1976-01-23','yyyy-mm-dd'),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (101 ,'李军' ,'男' ,TO_DATE('1976-02-20','yyyy-mm-dd'),95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (109 ,'王芳' ,'女' ,TO_DATE('1975-02-10','yyyy-mm-dd'),95031);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (103 ,'陆君' ,'男' ,TO_DATE('1974-06-03','yyyy-mm-dd'),95031);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-105' ,'计算机导论',825); INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-245' ,'操作系统' ,804); INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('6-166' ,'数据电路' ,856); INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('9-888' ,'高等数学' ,100); INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,'3-245',86);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,'3-245',75);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,'3-245',68);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,'3-105',92);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,'3-105',88);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,'3-105',76);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,'3-105',64);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,'3-105',91);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,'3-105',78);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,'6-166',85);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,'6-106',79);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,'6-166',81);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES (804,'李诚','男',TO_DATE('1958-12-02','yyyy-mm-dd'),'副教授','计算机系'); INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES (856,'张旭','男',TO_DATE('1969-03-12','yyyy-mm-dd'),'讲师','电子工程系'); INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES (825,'王萍','女',TO_DATE('1972-05-05','yyyy-mm-dd'),'助教','计算机系'); INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES (831,'刘冰','女',TO_DATE('1977-08-14','yyyy-mm-dd'),'助教','电子工程系');1、查询Student表中的所有记录的Sname、Ssex和Class列。

sql作业

sql作业

29、查询出工资不超过2500的人数最多的部门名称
30、查询出没有下属员工的人的名字和他的职位
31、查询出人数最多的那个部门的部门编号和部门名称
32、查询出没有员工的那个部门的部门编号和部门名称(要求用两种方法,其中一种要用集合运算)
33、查询出员工名字以A打头的人数最多的部门名称和员工名字
34、现在公司要给员工增加工龄工资,规则是:30*工作年限,请按以下格式显示下面结果:
部门名称 员工姓名 原工资 增加额度 新工资
35、针对DEPT和EMP表,查询出下面格式的结果并要求按部门编号和工资降序排列。
部门名称 员工姓名 工资
36、针对DEPT和EMP表,查询出下面格式的结果。
20、按以下格式显示下面的信息,条件是工资大于1500的。
部门名称 姓名 工资
21、按以下格式显示下面信息,条件是此人工资在所有人中最高。
部门 姓名 工资
22、按以下格式显示下面信息
某人 为 某人 工作
23、为所有人长工资,标准是:10部门长10%;20部门长15%;30部门长20%其他部门长18%(要求用DECODE函数)
部门名称 员工姓名 工资
39、针对DEPT和EMP表,查询出没有员工的部门号和部门名称(要求用两种方法)
40、查询出平均工资最高的部门编号、部门名称和平均工资。
41、查询出工资高于全体平均工资人数最多的部门编号、部门名称和员工资,标准是:为公司工作了几个月就长几个百分点。
25、查询出king所在部门的部门号\部门名称\部门人数
26、查询出king所在部门的工作年限最大的员工名字
27、查询出管理员工人数最多的人的名字和他管理的人的名字

SQL试题精选及答案

SQL试题精选及答案

SQL试题精选及答案1. 请写出SQL中创建新表的语句。

答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。

答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。

4. 写出SQL中更新表中数据的语句。

答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。

答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。

7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。

8. 请写出SQL中创建索引的语句。

答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。

10. 请解释SQL中的主键和外键。

答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。

11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。

12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。

13. 请写出SQL中插入数据的语句。

答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。

sql语句经典例题

sql语句经典例题

sql语句经典例题以下是几个经典的SQL语句示例,用于演示不同的查询和操作:1. 查询所有员工的信息:```sqlSELECT * FROM employees;```2. 查询特定员工的详细信息:```sqlSELECT * FROM employees WHERE employee_id = 1;```3. 查询员工的工资,按工资降序排列:```sqlSELECT employee_id, salary FROM employees ORDER BY salary DESC;```4. 查询工资高于平均工资的员工信息:```sqlSELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);```5. 插入一条新员工记录:```sqlINSERT INTO employees (employee_id, name, salary) VALUES (2, 'John Doe', 5000);```6. 更新特定员工的工资:```sqlUPDATE employees SET salary = 6000 WHERE employee_id = 1; ```7. 删除特定员工记录:```sqlDELETE FROM employees WHERE employee_id = 2;```8. 查询所有销售部门的员工信息:```sqlSELECT * FROM employees WHERE department = 'Sales';```9. 查询工资高于平均工资的销售部门员工信息:```sqlSELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees WHERE department = 'Sales');```以上就是关于sql语句经典例题的介绍,欢迎补充。

SQL查询语句练习(50题)

SQL查询语句练习(50题)

SQL查询语句练习(50题)Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;2、查询平均成绩大于60分的同学的学号和平均成绩;3、查询所有同学的学号、姓名、选课数、总成绩;4、查询姓“李”的老师的个数;5、查询没学过“叶平”老师课的同学的学号、姓名;6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;9、查询所有课程成绩小于60分的同学的学号、姓名;10、查询没有学全所有课的同学的学号、姓名;11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;15、删除学习“叶平”老师课的SC表记录;16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、002号课的平均成绩;17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分19、按各科平均成绩从低到高和及格率的百分数从高到低顺序20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)21、查询不同老师所教不同课程平均分从高到低显示22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]24、查询学生平均成绩及其名次25、查询各科成绩前三名的记录:(不考虑成绩并列情况)26、查询每门课程被选修的学生数27、查询出只选修了一门课程的全部学生的学号和姓名28、查询男生、女生人数29、查询姓“张”的学生名单30、查询同名同性学生名单,并统计同名人数31、1981年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列33、查询平均成绩大于85的所有学生的学号、姓名和平均成绩34、查询课程名称为“数据库”,且分数低于60的学生姓名和分数35、查询所有学生的选课情况;36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;37、查询不及格的课程,并按课程号从大到小排列38、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;39、求选了课程的学生人数40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩41、查询各个课程及相应的选修人数42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名44、统计每门课程的学生选修人数(超过10人的课程才统计)。

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

SQL语法练习(一)
使用scott/tiger 用户下的emp表(数据库自带的表)完成下列练习。

表的结构说明如下:
雇员表(emp)
NO 字段类型描述
1 EMPNO NUMBER(4) 表示雇员编号,是唯一的
编号
表示雇员姓名
2 ENAME VARCHAR2(10
)
3 JOB VARCHAR2(9) 工作职位
4 MGR NUMBER(4) 雇员的领导编号
DATE 雇佣日期
5 HIREDAT
E
6 SAL NUMBER(7,2) 月薪,工资
7 COMM NUMBER(7,2) 奖金
8 DEPTNO NUMBER(2) 部门编号
1、查询部门号为30的所有雇员信息。

2、列出所有办事员(CLERK)的姓名,编号和部门编号。

3、找出奖金高于工资的雇员。

4、找出奖金高于工资60%的雇员。

5、找出部门10中所有经理(MANAGER)和部门20中所有办事
员的信息。

6、找出部门10中所有经理(MANAGER),部门20中所有办事员,既不是经理又不是办事员但其薪资大于或等于2000的所有员工的信息。

7、找出有奖金发放员工的职位(职位不能重复)
8、查询没有奖金或者奖金低于100的员工。

9、查询不带有"R"的员工的姓名。

10、显示员工的全部信息,按姓名排序。

11、显示员工的姓名和入职时间,根据入职时间,将最老的员工排放在最前面。

12、显示所有员工的姓名、工作和工资,按照工作的降序排序,若工作相同则按工资升序排序。

13、找出2月份入职的员工。

14、显示姓名含有字母"A"的员工的姓名。

相关文档
最新文档