SQL查询语句复习题
SQL查询语句复习题分类:华腾网站论坛SQL查询语句复习题新建学生-课程数据库的三个表:学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Sno为主码;课程表:Course(Cno,Cname,Cpno,Credeit) Cno为主码;学生选修表:SC(Sno,C no,Grade) Sno,Cno,为主码;Student学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS课程号Sno课程名Cname先行课Cpno学分Credit1数据库542数学23信息系统144操作系统635数据结构746数据处理27Pasc al语言64Course:SC:学号Sno课程号Cno成绩Grade9500119295001285950013889500229095002380一:查询表中的列和行1:查询全体学生的学与姓名sele sno,sname from student2:查询全体学生的姓名、学号、所在系。
sele sno,sname,s dept from s tudent3:查询全体学生的详细记录sele * fr om s tudent4:查询全体学生的姓名及出生年份sele sno,sage from student5:查询全体学生的姓名,出生年份及所在系,要用小写字母表示系名6:查询选修了课程的学生学号sele sno,cno fr om sc7:查询选修了课程的学生姓名sele disti nct sname from student,sc where student.sno=sc.sno二:条件查询:常用的查询条件查询条件谓词比较=,<,>,>=,<=,!=,<>,!>,!<;not+上述比较运算符确定范围Between and,Not between And,确定集合IN,not IN字符匹配Like,Not Li k e空值IsNull,ISNOTNULL多重条件AND,OR1:查询计算机系全体学生的姓名sele sname from s tudent where sdept=”CS”2:查询所有年龄在20岁以下的学生姓名及其年龄sele sname,s age from student where s age<203:查询考试成绩有不及格的学生的学号sele student.s no from student,sc where s tudent.sno=sc.sno and grad e<60 4:查询年龄在20到23间的学生的姓名,系别及年龄sele sname,s dept,sage from student where s age between 20 and 235: 查询年龄不在20到23间的学生的姓名,系别及年龄sele sname,s dept,sage from student where s age not between 20 and 236:查询信息系(IS),数学系(MA)和计算机系(CS)学生的姓名和性别sele sname,ss ex from student where sdept i n("IS","MA","CS")7:查询不是信息系(IS),数学系(MA)和计算机系(CS)学生的姓名和性别sele sname,ss ex from student where sdept not in("IS","MA","CS")8:查询学号为”95001”的学生详细情况sele * fr om s tudent where sno=950019:查询所有姓刘的学生的姓名,学号和性别(where name like …刘%‟)sele sname,s no,ss ex from student where sname li k e '刘%'10:查询姓”欧阳”且命名为三个汉字的学生的姓名sele sname from s tudent where sname li k e '欧阳_'11:查询名字中第2个字为”阳”字的学生姓名和学号(where sname like …_ _阳%‟)sele sname,s no from student where sname li k e '_ _阳%'12:查询所有不姓刘的学生姓名sele sname from s tudent where sname not li k e '刘%'13:查询DB_Design课程的课程号和学分(where c name like …Db_D esign‟Escape‟‟)sele cno,gredit from cours e wher e cname li k e …Db_Design‟Escape‟‟14:查询以”DB_”开头,且倒数第3个字符为i的课程的详细情况(where c name like …DB_%i__‟esc ape‟‟)…DB_%i__‟esc ape‟‟) sele c no,gredit from course where cname li k e …Db_%i__‟escape‟‟15:查询缺少成绩的学生的学号和相应的课程号sele student.s no,cno from student,sc where grade is null16:查询所有成绩的学生学号和课程号(where grade is not null)sele student.s no,cno from student,sc where grade is not null17:查询计算机系年龄在20岁以下的学生姓名se le sname from s tudent where sdept=”CS” and s age<2018:查询选修了3号课程的学生的学号及其成绩,分数降序排列sele student.s no,grade fr om s tudent,sc where student.sno=sc.sno and sc.c no=3 order by grade desc19:查询全体学生情况,结果按所在系的号升序排列,同一系中的学生按年龄降序sele * fr om s tudent or der by sdept,s age desc三:使用集函数count,sum,av g,max,mi n1:查询学生的总人数2:查询选修了课程的学生人数(select count(distinc t sno))3:计算1号课程的学生平均成绩4:查询选修1号课程的学生最高分数5:求各个课程号及相应的选课人数( selsec t cno,count (sno); from sc; group by c no)6:查询选修了3门以上的课程的学生学号select s nofrom scgroup by snohav i ng count(*)>3四:连接查询:<1>等值与非等值的连接查询在连接查询中用来连接两个有的条件称为连接条件或连接谓词,,当连接运算符号为”=”时,称为等值连接,使用如,=,<,>,<=,>=,!=连接时称非等值连接1:查询每个学生及其选修课程的情况select student.*,sc.*from student,scwhere student.sno=sc.s no<2>自身连接连接操作在同一个表中进行连接查询2:查询每一门课的间接先修课(即先修课的先修课)select first .c no,sec ofrom c ourse first ,course s econdwhere first.c no=sec o五:复合条件连接1:查询选修2号课程且成绩在90分以上的所有学生。
Select s tudent,snameform student, scWher e student.s no=sc.s no Ando=‟2‟ and sc.grade>90六:嵌套查询1:带有谓词in的子查询<1>查询与“刘晨”在同一个系学习的学生select s no,s name,sdeptfrom studentwhere sdept in(select s deptfrom s tudentwhere s name=”刘晨”)或:select s1.sname,s1.sdeptfrom student s1,s tudent s2where s1.dept=s2.dept and =”刘晨”<2>查询选修了课程名为“信息系统”的学生学号和姓名select s no,s namefrom studentwhere sno in( select snofrom scwhere c no i n(select c nofrom c oursewhere c name-“信息系统”)或:select s no,s namefrom student,sc,c oursewhere student.sno=sc.sno andsc.c no=o andcourse.c name=‟信息系统‟)2:带有Any或all谓词的子查询<1>查询其他系中比信息系中某一学生年龄小的学生姓名和年龄select s name, sagefrom studentwhere sage <any(sel ect sagefrom studentwhere sdept=‟is‟and sdept<>‟is‟或用集函数:select s name, sagefrom studentwhere sage<(select max(sage)from s tudentwhere s dept=‟is‟)and sde pt<>‟is‟<2> 查询其他系中比信息系所有学生年龄都小的学生姓名及年龄select s name, sagefrom studentwhere sage<all(select sagefrom studentwhere sdept=‟is‟)and sdept<>‟is‟3 带有Ex itst谓词的子查询<1>查询所有选修了1号课程的学生姓名select s namefrom studentwhere ex ists(select *from scwhere s no=student.s no and cno=‟1‟)<2>查询没有选修1号课程的学生姓名select s nameform studentwhere not ex ists(selec t *form scwhere sno=stuedent.s no and cno=‟1‟)<2>查询选修所有全部课程的学生姓名select s namefrom studentwhere not ex ists(select *from c oursewhere not ex ists(selec t *from scwher e sno=student.snoand c no=o)<3>查询到少选修了学生95002选修的全部课程的学生号码select distinct s nofrom sc sc xwhere not ex ists( selec t *from sc sc ywhere sc y.sno=‟95002‟ andnot ex ists( sel ect *from sc sczwhere scz.sno=scx.sno andscz.c no=sc o)2005.11.29 11:32 作者:kanaihua收藏| 评论:2SQL语言(笔试复习资料)分类:华腾网站论坛第三章SQL语言一、选择题1. SQL语言是()的语言,容易学习。
sql期末复习题
sql期末复习题SQL期末复习题SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。
在数据库管理系统中,SQL被广泛应用于数据的查询、插入、更新和删除等操作。
作为数据库管理和数据分析的重要工具,掌握SQL语言的基本知识对于计算机专业的学生来说至关重要。
下面将通过一些常见的SQL期末复习题,帮助大家回顾SQL的基本概念和操作技巧。
一、查询操作1. 查询学生表中所有学生的姓名和年龄。
```sqlSELECT Name, Age FROM Students;```2. 查询课程表中所有课程的名称和学分。
```sqlSELECT CourseName, Credit FROM Courses;```3. 查询选修了课程编号为001的学生的姓名和年龄。
```sqlSELECT Name, Age FROM Students WHERE CourseID = '001';```4. 查询选修了课程名称为“数据库”的学生的姓名和年龄。
```sqlSELECT Name, Age FROM Students WHERE CourseName = '数据库';```5. 查询选修了至少两门课程的学生的姓名和年龄。
```sqlSELECT Name, Age FROM Students GROUP BY Name, Age HAVINGCOUNT(CourseID) >= 2;```二、插入操作1. 向学生表中插入一条记录,学生编号为1001,姓名为“张三”,年龄为20。
```sqlINSERT INTO Students (StudentID, Name, Age) VALUES (1001, '张三', 20);```2. 向课程表中插入一条记录,课程编号为002,课程名称为“操作系统”,学分为4。
```sqlINSERT INTO Courses (CourseID, CourseName, Credit) VALUES (002, '操作系统', 4);```三、更新操作1. 将学生表中学生编号为1001的学生的年龄更新为21。
2023 SQL 数据库查询练习题及答案
2023 SQL 数据库查询练习题及答案数据库查询是数据管理和处理的重要环节,熟练的SQL查询技巧对于数据库工程师和数据分析师来说至关重要。
为了提升大家的SQL 查询能力,以下是一些2023年的SQL数据库查询练习题及答案,希望能够对大家的学习和实践有所帮助。
练习题1:学生成绩表考虑一个学生成绩表(Students)和课程信息表(Courses),请使用SQL查询语句完成以下操作。
1. 查询所有学生的姓名和学号;2. 查询所有参加了"C3"课程的学生的姓名和学号;3. 查询所有选择了至少两门课程的学生的姓名和学号;答案1:SELECT 学号, 姓名FROM 学生成绩表;答案2:SELECT 学生成绩表.学号, 学生成绩表.姓名FROM 学生成绩表, 课程信息表WHERE 学生成绩表.课程编号 = 课程信息表.课程编号AND 课程信息表.课程名称 = "C3";答案3:SELECT 学号, 姓名FROM 学生成绩表GROUP BY 学号, 姓名HAVING COUNT(*) >= 2;练习题2:库存管理考虑一个库存管理系统的数据库,包含了商品表(Products)、仓库表(Warehouses)和库存表(Inventory)。
请使用SQL查询语句完成以下操作。
1. 查询商品表中单价不低于100元的商品的名称和单价;2. 查询所有位于“北京”仓库中的商品的名称和库存量;3. 查询库存量最多的商品的名称和库存量;答案1:SELECT 名称, 单价FROM 商品表WHERE 单价 >= 100;答案2:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 仓库表, 库存表WHERE 商品表.商品ID = 库存表.商品IDAND 仓库表.仓库ID = 库存表.仓库IDAND 仓库表.所在地 = "北京";答案3:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 库存表WHERE 商品表.商品ID = 库存表.商品IDORDER BY 库存表.库存量 DESCLIMIT 1;练习题3:订单管理考虑一个订单管理系统的数据库,包含了客户表(Customers)、订单表(Orders)和订单详情表(OrderDetails)。
SQL语句练习题(包含有多表查询)-答案
SQL语句练习题1、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资。
select ename,sal from emp where job='CLERK' or job='MANAGER';2、请在EMP表中查找部门号在10-30之间的雇员的姓名、部门号、工资、工作。
select ename,deptno,sal,job from emp where deptno between 10 and 30;3、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位。
select ename,sal,job from emp where ename like 'J%';4、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。
select ename,job,sal from emp where sal<=2000 order by sal desc;5、请从表中查询工作是CLERK的所有人的姓名、工资、部门号、部门名称以及部门地址的信息。
select ename,sal,emp.deptno,dname,loc from emp,dept where emp.deptno=dept.deptno and job=’CLERK’;6、查询表EMP中所有的工资大于等于2000的雇员姓名和他的经理的名字。
select a.ename,b.ename from emp a,emp b where a.mgr=b.empno(+) and a.sal>=2000;7、查询所有雇员的姓名、SAL与COMM之和。
select ename,sal+nvl(comm,0) “sal-and-comm” from emp;8、查询所有81年7月1日以前来的员工姓名、工资、所属部门的名字select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and hiredate<=to_date(‘1981-07-01’,’yyyy-mm-dd’);9、查询列出来公司就职时间超过24年的员工名单select ename from emp where hiredate<=add_months(sysdate,-288);10、查询于81年来公司所有员工的总收入(SAL和COMM)select sum(sal+nvl(comm,0)) from emp where to_char(hiredate,’yyyy’)=’1981’;11、查询显示每个雇员加入公司的准确时间,按××××年××月××日时分秒显示。
SQL查询习题及答案
36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。
SQL数据库查询练习题及答案(四十五道题)
SQL数据库查询练习题及答案(四⼗五道题)题⽬:设有⼀数据库,包括四个表:学⽣表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。
四个表的结构分别如表1-1的表(⼀)~表(四)所⽰,数据如表1-2的表(⼀)~表(四)所⽰。
⽤SQL语句创建四个表并完成相关题⽬。
表1-1数据库的表结构表(⼀)Student (学⽣表)属性名数据类型可否为空含义Sno varchar (20)否学号(主码)Sname varchar (20)否学⽣姓名Ssex varchar (20)否学⽣性别Sbirthday datetime可学⽣出⽣年⽉Class varchar (20)可学⽣所在班级表(⼆)Course(课程表)属性名数据类型可否为空含义Cno varchar (20)否课程号(主码)Cname varchar (20)否课程名称Tno varchar (20)否教⼯编号(外码)表(三)Score(成绩表)属性名数据类型可否为空含义Sno varchar (20)否学号(外码)Cno varchar (20)否课程号(外码)Degree Decimal(4,1)可成绩主码:表(四)Teacher(教师表)属性名数据类型可否为空含义Tno varchar (20)否教⼯编号(主码)Tname varchar (20)否教⼯姓名Tsex varchar (20)否教⼯性别Tbirthday datetime可教⼯出⽣年⽉Tbirthday datetime可教⼯出⽣年⽉Prof varchar (20)可职称Depart varchar (20)否教⼯所在部门表1-2数据库中的数据表(⼀)StudentSno Sname Ssex Sbirthday class 108曾华男1977-09-0195033 105匡明男1975-10-0295031 107王丽⼥1976-01-2395033 101李军男1976-02-2095033 109王芳⼥1975-02-1095031 103陆君男1974-06-0395031表(⼆)CourseCno Cname Tno3-105计算机导论8253-245操作系统8046-166数字电路8569-888⾼等数学831表(三)ScoreSno Cno Degree1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911073-105911083-105781016-166851076-166791086-16681表(四)TeacherTno Tname Tsex Tbirthday Prof Depart 804李诚男1958-12-02副教授计算机系856张旭男1969-03-12讲师电⼦⼯程系825王萍⼥1972-05-05助教计算机系831刘冰⼥1977-08-14助教电⼦⼯程系查询问题:1、查询Student表中的所有记录的Sname、Ssex和Class列。
sql查询语句学习测试答案
第一部分SQL查询语句的学习单表查询1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值use eeeSELECT订购日期,订单ID,客户ID,雇员IDFROM订单WHERE订购日期BETWEEN'1996-7-1 00:00:00'AND'1996-7-15 23:59:59'2、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。
条件是“地区等于华北”并且“联系人头衔等于销售代表”。
use eeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区='华北'AND联系人职务='销售代表'3、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。
其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津use eeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区IN('华东','华南')OR城市='天津'4、--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值use eeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区IN('华东','华南')多表查询5、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单ID”的降序排列use eeeSELECT订购日期,订单ID,公司名称,姓氏,名字FROM订单,雇员,客户WHERE订购日期BETWEEN'1996-7-1 00:00:00'AND'1996-7-15 23:59:59' AND订单.雇员ID =雇员.雇员IDAND订单.客户ID =客户.客户IDORDER BY姓氏,名字ASC,订单ID DESC6、--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称use eeeSELECT订单.订单ID,公司名称,产品名称FROM订单,运货商,产品,订单明细WHERE订单.订单ID IN('10248','10254')AND订单.订单ID =订单明细.订单IDAND订单明细.产品ID =产品.产品IDAND订单.运货商=运货商.运货商ID7、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣use eeeSELECT订单.订单ID,产品名称,数量,订单明细.单价,折扣FROM订单,产品,订单明细WHERE订单.订单ID IN('10248','10254')AND订单.订单ID =订单明细.订单IDAND订单明细.产品ID =产品.产品ID8、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额use eeeSELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣)AS销售金额FROM订单,产品,订单明细WHERE订单.订单ID IN('10248','10254')AND订单.订单ID =订单明细.订单IDAND订单明细.产品ID =产品.产品ID综合查询9、--查询所有运货商的公司名称和电话use eeeSELECT公司名称,电话FROM运货商10、--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔use eeeSELECT公司名称,电话,传真,地址,联系人姓名,联系人职务FROM客户11、--查询单价介于10至30元的所有产品的产品ID、产品名称和库存量use eeeSELECT产品ID,产品名称,库存量FROM产品WHERE单价BETWEEN 10 AND 3012、--查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话use eeeSELECT产品名称,单价,公司名称,电话FROM产品,供应商WHERE单价> 20AND产品.供应商ID =供应商.供应商ID13、--查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量use eeeSELECT订单.订单ID,产品名称,数量FROM产品,订单,订单明细,客户WHERE城市IN('上海','北京')AND YEAR(订购日期)=1996AND产品.产品ID =订单明细.产品IDAND订单.订单ID =订单明细.订单IDAND订单.客户ID =客户.客户ID14、--查询华北客户的每份订单的订单ID、产品名称和销售金额use eeeSELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣) AS销售金额FROM产品,订单,订单明细,客户WHERE地区='华北'AND产品.产品ID =订单明细.产品IDAND订单.订单ID =订单明细.订单IDAND订单.客户ID =客户.客户ID15、--按运货商公司名称,统计1997年由各个运货商承运的订单的总数量use eeeSELECT公司名称,COUNT(订单ID)AS订单总数量FROM订单,运货商WHERE YEAR(发货日期)= 1997AND订单.运货商=运货商.运货商IDGROUP BY公司名称16、--统计1997年上半年的每份订单上所订购的产品的总数量use eeeSELECT订单.订单ID,SUM(数量)AS总数量FROM订单,订单明细WHERE订购日期BETWEEN'1997-1-1 00:00:00'AND'1997-6-30 23:59:59' AND订单.订单ID =订单明细.订单IDGROUP BY订单.订单ID17、--统计各类产品的平均价格use eeeSELECT类别名称,SUM(单价*库存量)/SUM(库存量)AS平均价格FROM产品,类别WHERE产品.类别ID =类别.类别ID GROUP BY类别名称18、--统计各地区客户的总数量use eeeSELECT地区,COUNT(客户ID)AS客户数量FROM客户GROUP BY地区第二部分SQL查询强化测试1.找出供应商名称,所在城市use eeeSELECT公司名称,城市FROM供应商2.找出华北地区能够供应海鲜的所有供应商列表。
sql基础查询题
以下是一些基础的SQL查询题,请根据题目要求进行回答。
假设有一个名为"employees"的表,包含以下列:id、name、department、salary。
请问如何查询该表中所有员工的名字和工资?sqlSELECT name, salary FROM employees;假设有一个名为"orders"的表,包含以下列:order_id、product_name、quantity、price。
请问如何查询该表中所有订单的总价?sqlSELECT SUM(price * quantity) AS total_price FROM orders;假设有一个名为"customers"的表,包含以下列:customer_id、name、email。
请问如何查询该表中所有客户的名字和电子邮件地址,并且只返回不重复的记录?sqlSELECT DISTINCT name, email FROM customers;假设有一个名为"products"的表,包含以下列:product_id、product_name、category。
请问如何查询该表中属于某个特定类别的所有产品?sqlSELECT product_name FROM products WHERE category = '特定类别';假设有一个名为"employees"的表,包含以下列:id、name、department。
请问如何查询该表中属于某个特定部门的所有员工?sqlSELECT name FROM employees WHERE department = '特定部门';。
数据库的sql语句练习题
数据库的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查询题目及答案
数据库中有如下三个表:学生表(学号id,姓名name,性别sex,系部depart,年龄age)8个学生记录选课表(学号id,课程号cid,成绩grade) 12门课程课程表(课程号cid,课程名cname,学分Ccredit) 6门课程学生-课程模式 S-T :学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)1.从学生表中查询所有同学的所有信息select*from学生表2.从学生表中查询所有学生的信息,并分别赋予一个别名select学号as xuehao,姓名as xingming,性别as xingbie,系部as xibu,年龄as nianling from学生表3.从学生表中查询姓名是Allen的学生的信息select*from学生表where姓名='Allen'4.从学生表中查询学号在1101到1199之间的所有学生的信息select*from学生表where学号between 1101 and 11995.从学生表中查询年龄小于18和大于20的所有学生的学号和姓名select学号,姓名from学生表where年龄<18 or年龄>206.从学生表中查询计算机系年龄小于20的所有学生的信息select*from学生表where系部='computer'and年龄<207.从学生表中查询姓名以A开头的学生的信息select*from学生表where姓名LIKE'A%'8.从学生表中查询姓名的第三个字符是A的学生的学号和姓名select学号,姓名from学生表where姓名LIKE'__A%'9.从学生表中查询姓名中包含“llen”的学生的学号和姓名select学号,姓名from学生表where姓名LIKE'%llen%'10.从学生表中查询姓名中包含“llen”且姓名只有5个字符的学生的学号和姓名select学号,姓名from学生表where姓名LIKE'%llen%'and len(姓名)=511.从学生表中查询有年龄信息的学生的学号和姓名select学号,姓名from学生表where年龄is not null12.从学生表中查询最大年龄和最小年龄select max(年龄)最大年龄,min(年龄)最小年龄from学生表13.从学生表中查询所有学生的平均年龄select avg(年龄)平均年龄from学生表14.从学生表中查询学校所有系的名字select distinct系部from学生表15.从学生表中查询学校共有多少个系select count(distinct系部)系部总和from学生表16.从选课表中查询所有学生的选课情况select distinct课程号from选课表17.从选课表中查询选修课程号为C01课程的学生的学号select学号from选课表where课程号='C01'18.从选课表中查询所有没有选C02课程的学生的学号select distinct学号from选课表where课程号!='C02'19.从选课表中查询有选修C01或C02课程的学生的学号select distinct学号from选课表where课程号='C01' or 课程号='C02'20.从选课表中查询学号为1101的学生的选课情况select课程号from选课表where学号='1101'21.从选课表中查询所有选课信息,即学号、课程号、成绩,并给成绩加8分select学号,课程号,成绩=成绩+8 from选课表22.从选课表中查询学号为1101的学生的所有选修课程成绩的总和select sum(成绩)成绩总和from选课表where学号='1101'23.从选课表中查询选修课程好为C02所有学生的成绩平均值并赋予“平均成绩24.”列名select avg(成绩)平均成绩from选课表where课程号='C02'25.从选课表中查询选修课程号C02且该门课程考试及格的学生的学号select学号from选课表where课程号='C02'and成绩>=6026.从选课表中查询所有无考试成绩的学生的学号和课程的课程号select学号,课程号from选课表where成绩is null27.从选课表中查询选修了课程号以C开头的学生的学号和所选课程的课程号select学号,课程号from选课表where课程号LIKE'C%'28.从选课表中查询选修了课程号以C、D或E开头学生的学号和所选课程的课程号select学号,课程号from选课表where课程号LIKE'[CDE]%'29.从选课表中查询选修了课程号中包含DB的学生的学号和课程号select学号,课程号from选课表where课程号LIKE'%DB%'30.从选课表中查询选修了课程的学生的学号select distinct学号from选课表where课程号is not null31.从选课表中查询选修了课程的学生的人数select count(distinct学号)总人数from选课表31.找出姓名以D开头的学生姓名和所有成绩select学生表.姓名,选课表.成绩from学生表join选课表on学生表.学号=选课表.学号where学生表.姓名LIKE'D%'32.查找的所有学生姓名与学号,结果按学号降序排序select 学号,姓名from学生表order BY学号DESC33.查找成绩介于80和90之间的学生姓名,结果按成绩和姓名升序排序select学生表.姓名from选课表join学生表on学生表.学号=选课表.学号where选课表.成绩between 80 and 90order BY选课表.成绩,学生表.姓名34.查找english系的所有学生姓名,结果按成绩和姓名升序排序select学生表.姓名,学生表.学号,选课表.成绩from选课表join学生表on学生表.学号=选课表.学号where学生表.系部='english'35.查找同时选修了C01及C02两门课程的学生姓名及学号select学生表.姓名,A.学号from选课表as A join选课表as B on A.学号=B.学号join学生表on学生表.学号=A.学号where A.课程号='C01'and B.课程号='C02'36.查找所有选修了课程的学生姓名及所在系别select distinct学生表.姓名,学生表.系部from学生表join选课表on学生表.学号=选课表.学号where选课表.课程号is not null37.查找成绩高于90分的学生姓名、学号及系别select学生表.姓名,学生表.学号,学生表.系部from学生表join选课表on学生表.学号=选课表.学号where选课表.成绩>=9038.找出选修了C01课程的学生姓名select学生表.姓名from学生表join选课表on学生表.学号=选课表.学号where选课表.课程号='C01'39.查询English系学生人数select count(*) English 系总人数from学生表where系部='English'40.分别查询各系的学生人数select系部,count(*)人数from学生表group by系部41.创建一个角色uus.CREATE ROLE uus;42.给uus授权SELECT,UPDATE,INSERT .GRANT SELECT,UPDATE,INSERTON StuTO uus43.增加一个登录,登录名为tp,密码为123,默认的数据库为stuEXEC sp_addlogin 'tp', '123', 'stu'44.将登录tp增加为test库的一个用户,并连接到test库。
sql 语句经典题目
sql 语句经典题目SQL(Structured Query Language)是用于管理关系数据库的标准编程语言。
以下是一些经典的 SQL 题目,可以帮助你提高 SQL 技能:1. 学生成绩查询假设有一个学生数据库,包括学生、课程和成绩等信息。
学生表为`students`,包含列 `id`, `name`, 和 `age`。
课程表为 `courses`,包含列`id`, `name`。
成绩表为 `scores`,包含列 `student_id`, `course_id`, 和`score`。
查询每个学生的姓名、年龄和所有课程的成绩。
2. 员工工资查询假设有一个员工数据库,包括员工、部门和工资等信息。
员工表为`employees`,包含列 `id`, `name`, 和 `department_id`。
部门表为`departments`,包含列 `id`, `name`。
工资表为 `salaries`,包含列`employee_id`, `salary`。
查询每个员工的姓名、所属部门和工资。
3. 商品销售统计假设有一个商品销售数据库,包括商品、销售和购买者等信息。
商品表为 `products`,包含列 `id`, `name`, 和 `price`。
销售表为 `sales`,包含列 `product_id`, `seller_id`, 和 `buyer_id`。
查询每种商品的名称、单价和销售数量,并按销售数量降序排列。
4. 电影评分查询假设有一个电影数据库,包括电影、导演和评分等信息。
电影表为`movies`,包含列 `id`, `title`, 和 `director_id`。
导演表为 `directors`,包含列 `id`, `name`。
评分表为 `ratings`,包含列 `movie_id`, 和 `rating`。
查询每个导演所执导的电影的评分,并计算每个导演的平均评分。
5. 博客文章分类假设有一个博客文章数据库,包括文章、类别和作者等信息。
