50SQL语句题目

合集下载

mysql试题及答案

mysql试题及答案

mysql试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的端口号是多少?A. 21B. 22C. 3306D. 80答案:C2. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE USERD. CREATE INDEX答案:A3. 如何在MySQL中选择所有的行和列?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. SELECT ALL table_name;D. SELECT table_name;答案:A4. 下列哪个选项不是MySQL的数据类型?A. INTB. DATEC. FLOATD. STRING答案:D5. 在MySQL中,如何删除一个数据库?A. DROP DATABASE database_name;B. DELETE DATABASE database_name;C. REMOVE DATABASE database_name;D. REMOVE database_name;答案:A6. 如何在MySQL中为一个表添加一个新列?A. ADD COLUMN column_name datatype;B. CREATE COLUMN column_name datatype;C. INSERT COLUMN column_name datatype;D. ADD NEW COLUMN column_name datatype;答案:A7. 在MySQL中,以下哪个命令用于删除表中的行?A. DELETE FROM table_name;B. REMOVE FROM table_name;C. DROP FROM table_name;D. REMOVE table_name;答案:A8. 如何在MySQL中更新表中的记录?A. UPDATE table_name SET column1=value1, column2=value2 WHERE condition;B. CHANGE table_name SET column1=value1, column2=value2 WHERE condition;C. MODIFY table_name SET column1=value1, column2=value2 WHERE condition;D. ALTER table_name SET column1=value1, column2=value2WHERE condition;答案:A9. MySQL中的事务是什么?A. 一系列原子性的SQL操作B. 单个SQL语句C. 一组数据D. 一个数据库答案:A10. 如何在MySQL中查看当前数据库的版本?A. SELECT VERSION();B. SHOW VERSION;C. VERSION();D. SHOW DATABASE VERSION;答案:A二、填空题(每题2分,共20分)1. MySQL的默认用户是________。

mysql练习题50道

mysql练习题50道

mysql练习题50道1. 编写一个MySQL查询,用于查找表中的所有数据。

```SELECT * FROM 表名;```2. 编写一个MySQL查询,用于查找表中的所有数据,并按照某一列的升序排列。

```SELECT * FROM 表名 ORDER BY 列名 ASC;```3. 编写一个MySQL查询,用于查找表中的所有数据,并按照某一列的降序排列。

```SELECT * FROM 表名 ORDER BY 列名 DESC;```4. 编写一个MySQL查询,用于查找表中某一列的数据,并去除重复项。

```SELECT DISTINCT 列名 FROM 表名;```5. 编写一个MySQL查询,用于查找表中满足某个条件的数据。

```SELECT * FROM 表名 WHERE 条件;```6. 编写一个MySQL查询,用于查找表中满足多个条件的数据。

```SELECT * FROM 表名 WHERE 条件1 AND 条件2;```7. 编写一个MySQL查询,用于查找表中满足某个条件或另一个条件的数据。

```SELECT * FROM 表名 WHERE 条件1 OR 条件2;```8. 编写一个MySQL查询,用于计算表中某一列的总和。

```SELECT SUM(列名) FROM 表名;```9. 编写一个MySQL查询,用于计算表中某一列的平均值。

```SELECT AVG(列名) FROM 表名;```10. 编写一个MySQL查询,用于计算表中某一列的最大值。

```SELECT MAX(列名) FROM 表名;```11. 编写一个MySQL查询,用于计算表中某一列的最小值。

```SELECT MIN(列名) FROM 表名;```12. 编写一个MySQL查询,用于统计表中某一列的行数。

```SELECT COUNT(列名) FROM 表名;```13. 编写一个MySQL查询,用于在查询结果中限制返回的行数。

mysql面试题sql语句

mysql面试题sql语句

mysql面试题sql语句MySQL是一种广泛应用的关系型数据库管理系统,许多企业在招聘数据库相关岗位时会要求候选人掌握MySQL,并且熟练掌握SQL语句。

在面试中,经常会出现关于MySQL的SQL语句题目,下面我将根据一些常见的MySQL面试题来进行回答。

1. 请写出查询表中所有数据的SQL语句。

答:SELECT * FROM table_name;2. 请写出查询表中某一列数据的SQL语句。

答:SELECT column_name FROM table_name;3. 请写出查询表中某几列数据的SQL语句。

答:SELECT column1, column2 FROM table_name;4. 请写出查询表中去重后的数据的SQL语句。

答:SELECT DISTINCT column_name FROM table_name;5. 请写出查询表中符合条件的数据的SQL语句。

答:SELECT * FROM table_name WHERE condition;6. 请写出查询表中数据按照某一列进行排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column_name;7. 请写出查询表中数据按照某一列进行倒序排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column_name DESC;8. 请写出查询表中数据按照多个列进行排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column1, column2;9. 请写出查询表中数据分组后进行统计的SQL语句。

答:SELECT column_name, COUNT(*) FROM table_name GROUP BYcolumn_name;10. 请写出查询表中数据进行连接的SQL语句。

答:SELECT column1, column2 FROM table1 JOIN table2 ON table1.id =table2.id;11. 请写出查询表中数据进行左连接的SQL语句。

mysql简单练习题

mysql简单练习题

mysql简单练习题MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。

下面将介绍一些MySQL的简单练习题,帮助读者进一步巩固和提升MySQL的使用技能。

1. 创建数据库在MySQL中,使用CREATE DATABASE语句可以创建一个新的数据库。

假设我们要创建一个名为"example"的数据库,可以执行以下SQL语句:```CREATE DATABASE example;```2. 创建数据表使用CREATE TABLE语句可以创建一个新的数据表。

下面是一个创建名为"employees"的数据表的示例:```CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(100),age INT,department VARCHAR(100));```3. 插入数据使用INSERT INTO语句可以向表中插入新的数据。

例如,我们要向"employees"表中插入一条记录,可以执行以下SQL语句:```INSERT INTO employees (id, name, age, department) VALUES (1,'John Doe', 30, 'Sales');```4. 查询数据使用SELECT语句可以从表中查询数据。

例如,我们要查询"employees"表中所有记录的姓名和年龄,可以执行以下SQL语句:```SELECT name, age FROM employees;```5. 更新数据使用UPDATE语句可以更新表中的数据。

例如,我们要将"employees"表中id为1的记录的姓名更改为"Jane Smith",可以执行以下SQL语句:UPDATE employees SET name = 'Jane Smith' WHERE id = 1;```6. 删除数据使用DELETE FROM语句可以从表中删除记录。

mysql-50道经典sql题

mysql-50道经典sql题

mysql-50道经典sql题English.Q1: Find all customers who have placed orders with a total value of over $1000.sql.SELECT customer_id, SUM(order_total) AS total_value.FROM orders.GROUP BY customer_id.HAVING total_value > 1000;Q2: Find all products that have been ordered more than 10 times.sql.SELECT product_id, COUNT() AS order_count.FROM order_items.GROUP BY product_id.HAVING order_count > 10;Q3: Find all employees who have worked on more than 5 projects.sql.SELECT employee_id, COUNT() AS project_count.FROM project_assignments.GROUP BY employee_id.HAVING project_count > 5;Q4: Find all orders that were shipped within 2 days of being placed.sql.SELECT order_id, DATEDIFF(ship_date, order_date) AS shipping_time.FROM orders.WHERE shipping_time <= 2;Q5: Find all customers who have placed at least one order in the last year.sql.SELECT customer_id.FROM orders.WHERE order_date >= DATE_SUB(CURDATE(), INTERVAL 1YEAR);Chinese.Q1: 找出所有总订单价值超过 1000 美元的客户。

mysql:10道mysql查询语句面试题

mysql:10道mysql查询语句面试题

mysql:10道mysql查询语句⾯试题表结构学⽣表student(id,name)课程表course(id,name)学⽣课程表student_course(sid,cid,score)创建表的sql代码```sqlcreate table student(id int unsigned primary key auto_increment,name char(10) not null);insert into student(name) values('张三'),('李四');create table course(id int unsigned primary key auto_increment,name char(20) not null);insert into course(name) values('语⽂'),('数学');create table student_course(sid int unsigned,cid int unsigned,score int unsigned not null,foreign key (sid) references student(id),foreign key (cid) references course(id),primary key(sid, cid));insert into student_course values(1,1,80),(1,2,90),(2,1,90),(2,2,70);```问题1. 查询student表中重名的学⽣,结果包含id和name,按name,id升序select id,namefrom studentwhere name in (select name from student group by name having(count(*) >1)) order by name;我们经常需要查询某⼀列重复的⾏,⼀般通过group by(有重复的列)然后取count>1的值。

大学mysql考试题及答案

大学mysql考试题及答案

大学mysql考试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认使用的端口号是:A. 22B. 3306C. 80D. 8080答案:B2. 下列哪个选项是MySQL数据库的存储引擎?A. InnoDBB. OracleC. SQL ServerD. PostgreSQL答案:A3. 在MySQL中,用于创建新表的SQL语句是:A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B4. 以下哪个SQL语句用于删除数据库中的表?A. DROP DATABASEB. DROP TABLEC. TRUNCATE TABLED. DELETE FROM答案:B5. 以下哪个选项不是MySQL的数据类型?A. VARCHARB. TEXTC. DATETIMED. XML答案:D6. 在MySQL中,使用哪个关键字来创建索引?A. INDEXB. KEYC. UNIQUED. BOTH A and B答案:D7. 如果想要在查询结果中排除重复的行,应该使用哪个SQL语句?A. SELECT DISTINCTB. SELECT ALLC. SELECT UNIQUED. SELECT NODUPLICATE答案:A8. 在MySQL中,哪个函数用于获取当前日期和时间?A. NOW()B. CURRENT_DATEC. CURRENT_TIMED. BOTH B and C答案:A9. 以下哪个选项不是MySQL的权限类型?A. SELECTB. INSERTC. UPDATED. EXECUTE答案:D10. 在MySQL中,哪个命令用于查看当前数据库的版本?A. VERSION()B. SELECT VERSION()C. SHOW VERSIOND. ALL OF THE ABOVE答案:D二、填空题(每题2分,共20分)1. MySQL的______存储引擎支持事务处理。

mysql数据库练习题(含答案)

mysql数据库练习题(含答案)

mysql数据库练习题(含答案)创建数据库1 DROP DATABASE IF EXISTS test1; #如果存在test1数据库删除test1数据库2 CREATE DATABASE test1; #创建test1数据库3 USE test1; #切换的test1数据库⾥创建部门表1 DROP IF EXISTS TABLE DEPT; #如果存在dept数据表,删除dept数据表.2 CREATE TABLE DEPT(3 DEPTNO int PRIMARY KEY, #部门编号4 DNAME VARCHAR(14) , #部门名称5 LOC VARCHAR(13) #部门地址6 ) ;向部门表插⼊数据1 INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');2 INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');3 INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');4 INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');创建员⼯表1 DROP IF EXISTS TABLE EMP; #如果存在emp数据表,删除emp数据表.2 CREATE TABLE EMP(3 EMPNO int PRIMARY KEY, #员⼯编号4 ENAME VARCHAR(10), #员⼯姓名5 JOB VARCHAR(9), #员⼯⼯作6 MGR int, #员⼯直属领导编号7 HIREDATE DATE, #⼊职时间8 SAL double, #⼯资9 COMM double, #奖⾦10 DEPTNO int #对应dept表的外键11 );添加部门和员⼯之间的主外键关系1 ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY EMP(DEPTNO) REFERENCES DEPT (DEPTNO); #加主键约束1.主键约束:要对⼀个列加主键约束的话,这列就必须要满⾜的条件就是分空因为主键约束:就是对⼀个列进⾏了约束,约束为(⾮空、不重复)以下是代码要对⼀个列加主键,列名为id,表名为emp格式为:alter table 表格名称 add constraint 约束名称增加的约束类型(列名)添加部门和员⼯1 INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,"1980-12-17",800,NULL,20);2 INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30); 3 INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30); 4 INSERT INTO EMPVALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20); 5 INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30); 6 INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30); 7 INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10); 8 INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,'1987-07-03',3000,NULL,20); 9 INSERT INTO EMPVALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10); 10 INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30); 11 INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20); 12 INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30); 13 INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20); 14 INSERT INTO EMPVALUES(7934,'MILLER','CLERK',7782,'1981-01-23',1300,NULL,10);创建⼯资等级表1 DROP IF EXISTS TABLE SALGRADE; #如果存在salgrade数据表,删除salgrare数据表.2 CREATE TABLE SALGRADE(3 GRADE int, #等级4 LOSAL double, #最低⼯资5 HISAL double ); #最⾼⼯资6 INSERT INTO SALGRADE VALUES (1,700,1200);7 INSERT INTO SALGRADE VALUES (2,1201,1400);8 INSERT INTO SALGRADE VALUES (3,1401,2000);9 INSERT INTO SALGRADE VALUES (4,2001,3000); 10 INSERT INTO SALGRADE VALUES (5,3001,9999);单表查询题⽬及答案1 #1、查找部门30中员⼯的详细信息。

MySQLMySQL经典50题

MySQLMySQL经典50题

MySQLMySQL经典50题000.题⽬已知有如下4张表:学⽣表:student(学号,学⽣姓名,出⽣年⽉,性别)成绩表:score(学号,课程号,成绩)课程表:course(课程号,课程名称,教师号)教师表:teacher(教师号,教师姓名)根据以上信息按照下⾯要求写出对应的SQL语句。

001.创建表分析表与表的关联关系:创建学⽣表:创建成绩表:创建课程表:创建教师表:002.插⼊数据insert into student(学号,姓名,出⽣⽇期,性别)values('0001' , '猴⼦' , '1989-01-01' , '男');insert into student(学号,姓名,出⽣⽇期,性别)values('0002' , '猴⼦' , '1990-12-21' , '⼥');insert into student(学号,姓名,出⽣⽇期,性别)values('0003' , '马云' , '1991-12-21' , '男');insert into student(学号,姓名,出⽣⽇期,性别)values('0004' , '王思聪' , '1990-05-20' , '男');同理插⼊其他表的数据:成绩表:insert into score(学号,课程号,成绩)values('0001' , '0001' , 80);insert into score(学号,课程号,成绩)values('0001' , '0002' , 90);insert into score(学号,课程号,成绩)values('0001' , '0003' , 99);insert into score(学号,课程号,成绩)values('0002' , '0002' , 60);insert into score(学号,课程号,成绩)values('0002' , '0003' , 80);insert into score(学号,课程号,成绩)values('0003' , '0001' , 80);insert into score(学号,课程号,成绩)values('0003' , '0002' , 80);insert into score(学号,课程号,成绩)values('0003' , '0003' , 80);课程表:insert into course(课程号,课程名称,教师号)values('0001' , '语⽂' , '0002');insert into course(课程号,课程名称,教师号)values('0002' , '数学' , '0001');insert into course(课程号,课程名称,教师号)values('0003' , '英语' , '0003');教师表:-- 教师表:添加数据insert into teacher(教师号,教师姓名)values('0001' , '孟扎扎');insert into teacher(教师号,教师姓名)values('0002' , '马化腾');-- 这⾥的教师姓名是空值(null)insert into teacher(教师号,教师姓名)values('0003' , null);-- 这⾥的教师姓名是空字符串('')insert into teacher(教师号,教师姓名)values('0004' , '');003.50道⾯试题简单查询1.查询姓“猴“的学⽣名单SELECT * FROM student WHERE 姓名 LIKE '猴%';2.查询姓名总最后⼀个字是‘猴’的学⽣ SELECT * FROM student WHERE 姓名 LIKE '%猴';3.查询姓名中带‘猴’的学⽣名单SELECT * FROM student WHERE 姓名 LIKE '%猴%';4.查询姓“孟”⽼师的个数 SELECT * FROM teacher WHERE 教师姓名 LIKE '孟%';汇总分析5.查询课程编号为“0002”的总成绩 *分析思路select 查询结果 [总成绩:汇总函数sum]from 从哪张表中查找数据[成绩表score]where 查询条件 [课程号是0002]*/SELECT SUM(成绩) FROM score WHERE 课程号 = '0002';6.查询选了课程的学⽣⼈数 /*这个题⽬翻译成⼤⽩话就是:查询有多少⼈选了课程select 学号,成绩表⾥学号有重复值需要去掉from 从课程表查找score;*/SELECT COUNT(DISTINCT 学号) as 学⽣⼈数 FROM score;分组7.查询各科成绩最⾼和最低的分 /*分析思路select 查询结果 [课程ID:是课程号的别名,最⾼分:max(成绩) ,最低分:min(成绩)]from 从哪张表中查找数据 [成绩表score]where 查询条件 [没有]group by 分组 [各科成绩:也就是每门课程的成绩,需要按课程号分组];*/SELECT 课程号,MAX(成绩) as 最⾼分,MIN(成绩) as 最低分 FROM score GROUP BY 课程号;8.查询每门课程被选修的学⽣数/*分析思路select 查询结果 [课程号,选修该课程的学⽣数:汇总函数count]from 从哪张表中查找数据 [成绩表score]where 查询条件 [没有]group by 分组 [每门课程:按课程号分组];*/SELECT 课程号,COUNT(DISTINCT 学号) as 学⽣数 FROM score GROUP BY 课程号;9.查询男⽣,⼥⽣⼈数/*分析思路select 查询结果 [性别,对应性别的⼈数:汇总函数count]from 从哪张表中查找数据 [性别在学⽣表中,所以查找的是学⽣表student]where 查询条件 [没有]group by 分组 [男⽣、⼥⽣⼈数:按性别分组]having 对分组结果指定条件 [没有]order by 对查询结果排序[没有];*/SELECT 性别,COUNT(性别) as 学⽣数 FROM student GROUP BY 性别;SELECT 性别,COUNT(*) as 学⽣数 FROM student GROUP BY 性别;分组结果的条件10.查询平均成绩⼤于60分学⽣的学号和平均成绩/*题⽬翻译成⼤⽩话:平均成绩:展开来说就是计算每个学⽣的平均成绩这⾥涉及到“每个”就是要分组了平均成绩⼤于60分,就是对分组结果指定条件分析思路select 查询结果 [学号,平均成绩:汇总函数avg(成绩)]from 从哪张表中查找数据 [成绩在成绩表中,所以查找的是成绩表score]where 查询条件 [没有]group by 分组 [平均成绩:先按学号分组,再计算平均成绩]having 对分组结果指定条件 [平均成绩⼤于60分]*/SELECT 学号,AVG(成绩) as 平均成绩 FROM score GROUP BY 学号 HAVING AVG(成绩)>60;11.查询⾄少选修两门课程的学⽣学号 /*翻译成⼤⽩话:第1步,需要先计算出每个学⽣选修的课程数据,需要按学号分组第2步,⾄少选修两门课程:也就是每个学⽣选修课程数⽬>=2,对分组结果指定条件分析思路select 查询结果 [学号,每个学⽣选修课程数⽬:汇总函数count]from 从哪张表中查找数据 [课程的学⽣学号:课程表score]where 查询条件 [⾄少选修两门课程:需要先计算出每个学⽣选修了多少门课,需要⽤分组,所以这⾥没有where⼦句] group by 分组 [每个学⽣选修课程数⽬:按课程号分组,然后⽤汇总函数count计算出选修了多少门课]having 对分组结果指定条件 [⾄少选修两门课程:每个学⽣选修课程数⽬>=2]*/SELECT 学号,COUNT(课程号) as 选修课程数 FROM score GROUP BY 学号 HAVING COUNT(课程号)>=2;12.查询同名同姓学⽣名单并统计同名⼈数 /*翻译成⼤⽩话,问题解析:1)查找出姓名相同的学⽣有谁,每个姓名相同学⽣的⼈数查询结果:姓名,⼈数条件:怎么算姓名相同?按姓名分组后⼈数⼤于等于2,因为同名的⼈数⼤于等于2分析思路select 查询结果 [姓名,⼈数:汇总函数count(*)]from 从哪张表中查找数据 [学⽣表student]where 查询条件 [没有]group by 分组 [姓名相同:按姓名分组]having 对分组结果指定条件 [姓名相同:count(*)>=2]order by 对查询结果排序[没有];*/SELECT 姓名,COUNT(姓名) as 同名⼈数 FROM student GROUP BY 姓名 HAVING COUNT(姓名)>=2;13.查询不及格的课程并按课程号从⼤到⼩排列 /*分析思路select 查询结果 [课程号]from 从哪张表中查找数据 [成绩表score]where 查询条件 [不及格:成绩 <60]group by 分组 [没有]having 对分组结果指定条件 [没有]order by 对查询结果排序[课程号从⼤到⼩排列:降序desc];*/SELECT 课程号 FROM score WHERE 成绩<60 ORDER BY 课程号 DESC;14.查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列 /*分析思路select 查询结果 [课程号,平均成绩:汇总函数avg(成绩)]from 从哪张表中查找数据 [成绩表score]where 查询条件 [没有]group by 分组 [每门课程:按课程号分组]having 对分组结果指定条件 [没有]order by 对查询结果排序[按平均成绩升序排序:asc,平均成绩相同时,按课程号降序排列:desc];*/SELECT 课程号,AVG(成绩) as 平均成绩 FROM score GROUP BY 课程号 ORDER BY 平均成绩 ASC,课程号 DESC;15.检索课程编号为“0004”且分数⼩于60的学⽣学号,结果按按分数降序排列 /*分析思路select 查询结果 []from 从哪张表中查找数据 [成绩表score]where 查询条件 [课程编号为“04”且分数⼩于60]group by 分组 [没有]having 对分组结果指定条件 []order by 对查询结果排序[查询结果按按分数降序排列];*/SELECT 学号 FROM score WHERE 课程号='0004' AND 成绩<60 ORDER BY 成绩 DESC;16.统计每门课程的学⽣选修⼈数(超过2⼈的课程才统计),要求输出课程号和选修⼈数,查询结果按⼈数降序排序,若⼈数相同,按课程号升序排序/*分析思路select 查询结果 [要求输出课程号和选修⼈数]from 从哪张表中查找数据 []where 查询条件 []group by 分组 [每门课程:按课程号分组]having 对分组结果指定条件 [学⽣选修⼈数(超过2⼈的课程才统计):每门课程学⽣⼈数>2]order by 对查询结果排序[查询结果按⼈数降序排序,若⼈数相同,按课程号升序排序];*/SELECT 课程号,COUNT(学号) as 选修⼈数 FROM score GROUP BY 课程号 HAVING 选修⼈数>2 ORDER BY 选修⼈数 DESC,课程号 ASC;17.查询两门以上不及格课程的同学的学号及其平均成绩 /*分析思路先分解题⽬:1)[两门以上][不及格课程]限制条件2)[同学的学号及其平均成绩],也就是每个学⽣的平均成绩,显⽰学号,平均成绩分析过程:第1步:得到每个学⽣的平均成绩,显⽰学号,平均成绩第2步:再加上限制条件:1)不及格课程2)两门以上[不及格课程]:课程数⽬>2/*第1步:得到每个学⽣的平均成绩,显⽰学号,平均成绩select 查询结果 [学号,平均成绩:汇总函数avg(成绩)]from 从哪张表中查找数据 [涉及到成绩:成绩表score]where 查询条件 [没有]group by 分组 [每个学⽣的平均:按学号分组]having 对分组结果指定条件 [没有]order by 对查询结果排序[没有];*/select 学号, avg(成绩) as 平均成绩from scoregroup by 学号;/*第2步:再加上限制条件:1)不及格课程2)两门以上[不及格课程]select 查询结果 [学号,平均成绩:汇总函数avg(成绩)]from 从哪张表中查找数据 [涉及到成绩:成绩表score]where 查询条件 [限制条件:不及格课程,平均成绩<60]group by 分组 [每个学⽣的平均:按学号分组]having 对分组结果指定条件 [限制条件:课程数⽬>2,汇总函数count(课程号)>2]order by 对查询结果排序[没有];*/SELECT 学号,AVG(成绩) as 平均成绩 FROM score WHERE 成绩<60 GROUP BY 学号 HAVING COUNT(成绩)>2; 汇总分析18.查询学⽣的总成绩并进⾏排名 【知识点】分组查询/*分析思路select 查询结果 [总成绩:sum(成绩), 学号]from 从哪张表中查找数据 [成绩表score]where 查询条件 [没有]group by 分组 [学⽣的总成绩:按照每个学⽣学号进⾏分组]order by 排序 [按照总成绩进⾏排序:sum(成绩)];/*SELECT 学号,SUM(成绩) as 总成绩 FROM score GROUP BY 学号 ORDER BY 总成绩 DESC;19.查询平均成绩⼤于60分的学⽣的学号和平均成绩 【知识点】分组+条件/*分析思路select 查询结果 [学号, 平均成绩: avg(成绩)]from 从哪张表中查找数据 [成绩表score]where 查询条件 [没有]group by 分组 [学号]having 分组条件 [平均成绩⼤于60分:avg(成绩 ) >60]order by 排序 [没有];/*SELECT 学号,AVG(成绩) as 平均成绩 FROM score GROUP BY 学号 HAVING 平均成绩>60;复杂查询 20.查询所有课程成绩⼩于60分学⽣的学号、姓名 【知识点】⼦查询1.翻译成⼤⽩话1)查询结果:学⽣学号,姓名2)查询条件:所有课程成绩 < 60 的学⽣,需要从成绩表⾥查找,⽤到⼦查询第1步,写⼦查询(所有课程成绩 < 60 的学⽣)select 查询结果[学号]from 从哪张表中查找数据[成绩表:score]where 查询条件[成绩 < 60]group by 分组[没有]having 对分组结果指定条件[没有]order by 对查询结果排序[没有]limit 从查询结果中取出指定⾏[没有];select 学号from studentwhere 成绩 < 60;第2步,查询结果:学⽣学号,姓名,条件是前⾯1步查到的学号select 查询结果[学号,姓名]from 从哪张表中查找数据[学⽣表:student]where 查询条件[⽤到运算符in]group by 分组[没有]having 对分组结果指定条件[没有]order by 对查询结果排序[没有]limit 从查询结果中取出指定⾏[没有];*/SELECT 学号,姓名 FROM student WHERE 学号 in (SELECT 学号 FROM score WHERE 成绩<60);21.查询没有学全所有课的学⽣的学号、姓名 /*查找出学号,条件:没有学全所有课,也就是该学⽣选修的课程数 < 总的课程数【考察知识点】in,⼦查询*/SELECT 学号,姓名 FROM student WHERE 学号 IN ( SELECT 学号 FROM score GROUP BY 学号 HAVING COUNT(学号)<( SELECT COUNT(课程号) FROM course ));22.查询出只选修了两门课程的全部学⽣的学号和姓名 SELECT 学号,姓名 FROM student WHERE 学号 IN ( SELECT 学号 FROM score GROUP BY 学号 HAVING COUNT(课程号)=2);23.1990年出⽣的学⽣名单 /*查找1990年出⽣的学⽣名单学⽣表中出⽣⽇期列的类型是datetime*/SELECT * FROM student WHERE 出⽣⽇期 LIKE "1990%";SELECT * FROM student WHERE YEAR(出⽣⽇期) = 1990;24.查询各科成绩前两名的记录 /*第1步,查出有哪些组我们可以按课程号分组,查询出有哪些组,对应这个问题⾥就是有哪些课程号select 课程号,max(成绩) as 最⼤成绩from scoregroup by 课程号;第2步:先使⽤order by⼦句按成绩降序排序(desc),然后使⽤limt⼦句返回topN(对应这个问题返回的成绩前两名)-- 课程号'0001' 这⼀组⾥成绩前2名select *from scorewhere 课程号 = '0001'order by 成绩 desclimit 2;同样的,可以写出其他组的(其他课程号)取出成绩前2名的sql第3步,使⽤union all 将每组选出的数据合并到⼀起-- 左右滑动可以可拿到全部sql(select * from score where 课程号 = '0001' order by 成绩 desc limit 2)union all(select * from score where 课程号 = '0002' order by 成绩 desc limit 2)union all(select * from score where 课程号 = '0003' order by 成绩 desc limit 2);*/(SELECT * FROM score WHERE 课程号 = '0001' ORDER BY 成绩 DESC LIMIT 2)UNION ALL(SELECT * FROM score WHERE 课程号 = '0002' ORDER BY 成绩 DESC LIMIT 2)UNION ALL(SELECT * FROM score WHERE 课程号 = '0003' ORDER BY 成绩 DESC LIMIT 2);25.查询各学⽣的年龄(精确到⽉份) 下⾯说明了TIMESTAMPDIFF函数的语法。

mysql数据编程题

mysql数据编程题

mysql数据编程题当涉及到MySQL数据编程题时,通常涉及到数据库查询、数据操作和存储过程等方面的知识。

以下是一些可能的MySQL数据编程题目和相应的解答:1. 查询题目:a. 查询表中的所有数据。

解答,SELECT FROM table_name;b. 查询表中满足特定条件的数据。

解答,SELECT FROM table_name WHERE condition;c. 查询表中的数据并按特定字段排序。

解答,SELECT FROM table_name ORDER BYcolumn_name;2. 数据操作题目:a. 插入数据到表中。

解答,INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);b. 更新表中的数据。

解答,UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;c. 删除表中的数据。

解答,DELETE FROM table_name WHERE condition;3. 存储过程题目:a. 创建一个简单的存储过程。

解答,CREATE PROCEDURE procedure_name.AS.BEGIN.-存储过程的逻辑。

END;b. 调用存储过程并传递参数。

解答,CALL procedure_name(parameter1, parameter2, ...);以上是一些可能涉及到的MySQL数据编程题目及相应的解答。

当然,实际的问题可能会更加复杂,涉及到更多的SQL语法和数据库操作技巧。

希望这些解答能够帮助你更好地理解和应对MySQL数据编程题目。

mysql练习题

mysql练习题

一、填空题:1.MySQL中,创建数据库的命令为为__ create database ____。

2.数据库的完整性分为:实体完整性、域完整性、参照完整性和用户自定义完整性。

3.Select 命令中,表示条件表达式用where子句,排序用order by,分组用group by__子句。

4.在SQL 中,测试列值是否为空用___is null____运算符号。

5.SQL可用____alter table____命令修改表。

6.数据库管理系统(DBMS)属于_应用__软件。

7.数据库设计中,将ER图转换成关系数据模型的过程属于____逻辑设计阶段_。

8.SQL语句中修改表结构的命令是_ alter table __。

9.在数据库系统中,视图的内容实际上不存在,而是从__基表__导出。

10.M ySQL中显示表中列信息的指令为__ describe _____。

11.b ool型数据用于存储逻辑值,它只有两种状态,即__true__和__false____。

12.B LOB用于保存_大型二进制数据________。

13.将一个列设置为主键的方法是,在列的定义中使用[PRIMARY] KEY(或PRIMARYKEY)(或KEY) ________子句。

14.如果需要将几个互不相干的查询的结果合并成一个结果,可以使用___UNION ______关键字。

二、选择题:1. 陈述A:varchar型数据表示固定长字符数据。

陈述B:char型数据表示不定长字符数据。

关于对以上陈述的描述中,正确的是( A )。

A. 都是错误的B. 都正确C. 陈述A正确,陈述B错误D. 陈述A错误,陈述B正确2. 在SQL中,DROP INDEX 语句的作用是(B)A.. 建立索引B. 删除索引C. 修改索引D. 更新索引3.MySQL是一种( A )类型的数据库管理系统。

A. 关系模型B. 网状模型C. 实体-关系模型D. 层次模型4. 用SQL 的ALTER TABLE 语句修改基本表时,删除其中某个列的约束条件应使用的子句是(D)A.ADDB. DELETEC. MODIFYD. DROP5.下列语言中属于结构化查询语言的是( C )。

MySQL表查询语句练习题

MySQL表查询语句练习题

MySQL表查询语句练习题MySQL 表查询语句练习题:⼀、设有⼀数据库,包括四个表:学⽣表(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)可成绩主码:Sno+ Cno表(四)Teacher(教师表)属性名数据类型可否为空含义Tno varchar (20)否教⼯编号(主码)Tname varchar (20)否教⼯姓名Tsex varchar (20)否教⼯性别Tbirthday datetime可教⼯出⽣年⽉Prof varchar (20)可职称Depart varchar (20)否教⼯所在部门表1-2数据库中的数据表(⼀)StudentSno Sname Ssex Sbirthday class108曾华男1977-09-0195033105匡明男1975-10-0295031107王丽⼥1976-01-2395033101李军男1976-02-2095033109王芳⼥1975-02-1095031103陆君男1974-06-0395031表(⼆)CourseCno Cname Tno3-105计算机导论8253-245操作系统8046-166数字电路8569-888⾼等数学831表(三)ScoreSno Cno Degree1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911083-105781016-166851076-166791086-16681表(四)TeacherTno Tname Tsex Tbirthday Prof Depart804李诚男1958-12-02副教授计算机系856张旭男1969-03-12讲师电⼦⼯程系825王萍⼥1972-05-05助教计算机系831刘冰⼥1977-08-14助教电⼦⼯程系1、查询Student表中的所有记录的Sname、Ssex和Class列。

mysql增删改查题目

mysql增删改查题目

mysql增删改查题目
摘要:
1.MySQL 简介
2.MySQL 的增删改查操作
3.题目要求与示例
正文:
【MySQL 简介】
MySQL 是一款广泛使用的关系型数据库管理系统,其基于Structured Query Language(SQL)进行数据操作。

MySQL 具有高性能、易使用、成本低等优点,因此深受开发者喜爱。

在众多场景中,如网站、应用程序等,MySQL 都可作为后端数据存储的解决方案。

【MySQL 的增删改查操作】
MySQL 的核心操作包括增加(INSERT)、删除(DELETE)、修改(UPDATE)和查询(SELECT)。

下面简要介绍这些操作的语法:
1.增加(INSERT)
INSERT INTO 表名(列1, 列2, 列3,...) VALUES (值1, 值2, 值3,...);
2.删除(DELETE)
DELETE FROM 表名WHERE 条件;
3.修改(UPDATE)
UPDATE 表名SET 列1=值1, 列2=值2, 列3=值3,...WHERE 条件;
4.查询(SELECT)
SELECT 列1, 列2, 列3,...FROM 表名WHERE 条件;
【题目要求与示例】
假设有一个名为“students”的表,包含以下字段:id(主键,自动递增),name(姓名),age(年龄),gender(性别),class_id(班级ID,外键)。

mysql考试题

mysql考试题

mysql考试题一、选择题1. 在MySQL中,用于创建数据库的命令是()。

A. CREATE TABLEB. CREATE DATABASEC. ALTER DATABASED. DROP DATABASE答案:B2. 下列哪个选项是MySQL中的字符类型()。

A. INTB. DATEC. VARCHARD. DECIMAL答案:C3. 在MySQL中,如果我们想要对一个表进行修改,应该使用哪个命令?()A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B4. 在SELECT查询中,如果我们想要对结果进行排序,应该使用哪个关键字?()A. ORDER BYB. SORT BYC. ARRANGE BYD. LIST BY答案:A5. 在MySQL中,INNER JOIN和LEFT JOIN的区别是什么?()。

A. INNER JOIN返回两个表中有匹配的行,LEFT JOIN返回左表的所有行,即使右表中没有匹配。

B. INNER JOIN返回左表的所有行,LEFT JOIN返回两个表中有匹配的行。

C. INNER JOIN和LEFT JOIN没有区别。

D. 以上说法都不对。

答案:A二、填空题1. 在MySQL中,使用________关键字可以指定一个字段作为查询结果的分组依据。

答案:GROUP BY2. 当我们需要对查询结果中的每个分组应用聚合函数时,必须使用________关键字。

答案:HAVING3. 在MySQL中,________函数可以用来计算某个字段的总和。

答案:SUM4. 如果想要按照字符串的字典顺序进行排序,应该在ORDER BY后面使用________关键字。

答案:ASC5. 在MySQL中,使用________命令可以删除一个已经存在的数据库。

答案:DROP DATABASE三、简答题1. 请简述MySQL中的事务是什么以及它们的基本特性。

mysql简单题目

mysql简单题目

mysql简单题目好的,以下是一些简单的MySQL题目,供您参考:1. 什么是MySQL?MySQL是一个流行的关系型数据库管理系统,使用SQL(结构化查询语言)作为其主要的查询语言。

它提供了一个完整的数据库系统,包括数据库服务器、客户端工具和API接口,用于存储、检索、管理和处理数据。

2. 如何连接到MySQL数据库?要连接到MySQL数据库,您需要使用适当的客户端工具或编程语言。

常用的客户端工具包括MySQL Workbench、phpMyAdmin等。

使用客户端工具时,您通常需要提供数据库的主机名(例如localhost)、用户名、密码和其他连接参数。

3. 如何创建一个新的数据库?要创建一个新的数据库,您可以使用以下SQL语句:```sqlCREATE DATABASE database_name;```将"database_name"替换为您想要创建的数据库的名称。

4. 如何创建一个新的表?要创建一个新的表,您需要使用以下SQL语句:```sqlCREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);```将"table_name"替换为您想要创建的表的名称,"column1"、"column2"、"column3"等替换为表的列名,"datatype"替换为相应的数据类型(例如VARCHAR、INT、DATE等)。

5. 如何插入数据到表中?要向表中插入数据,您可以使用以下SQL语句:```sqlINSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);```将"table_name"替换为您要插入数据的表的名称,"column1"、"column2"、"column3"等替换为要插入数据的列名,"value1"、"value2"、"value3"等替换为相应的值。

mysql 编程题

mysql 编程题

1. 编写一个MySQL存储过程,实现对某个表的批量插入操作。

解析:首先创建一个存储过程,接收一个表名和一个包含多条记录的临时表作为参数。

然后遍历临时表中的每一条记录,将其插入到指定的表中。

```sqlDELIMITER //CREATE PROCEDURE batch_insert(IN table_name VARCHAR(255), IN temp_table_name VARCHAR(255))BEGINSET @sql = CONCAT('INSERT INTO ', table_name, ' SELECT * FROM ', temp_table_name);PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;END //DELIMITER ;```2. 编写一个MySQL存储过程,实现对某个表的批量更新操作。

解析:首先创建一个存储过程,接收一个表名和一个包含多条记录的临时表作为参数。

然后遍历临时表中的每一条记录,根据条件更新指定的表中的记录。

```sqlDELIMITER //CREATE PROCEDURE batch_update(IN table_name VARCHAR(255), IN temp_table_name VARCHAR(255))BEGINSET @sql = CONCAT('UPDATE ', table_name, ' JOIN ', temp_table_name, ' ON ', table_name, '.id = ', temp_table_name, '.id SET ', table_name, '.field1 = ', temp_table_name, '.field1, ', table_name, '.field2 = ', temp_table_name, '.field2');PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;END //DELIMITER ;```3. 编写一个MySQL存储过程,实现对某个表的批量删除操作。

mysql语句题

mysql语句题

mysql语句题含解答共20道1. 创建数据库```sqlCREATE DATABASE IF NOT EXISTS School;```2. 选择数据库```sqlUSE School;```3. 创建表格```sqlCREATE TABLE IF NOT EXISTS Students (id INT PRIMARY KEY,name VARCHAR(50),age INT,grade VARCHAR(10));```4. 插入数据```sqlINSERT INTO Students (id, name, age, grade)VALUES(1, 'Alice', 18, 'A'),(2, 'Bob', 19, 'B'),(3, 'Charlie', 20, 'C');```5. 查询所有数据```sqlSELECT * FROM Students;```6. 条件查询```sqlSELECT * FROM Students WHERE age > 18;```7. 更新数据```sqlUPDATE Students SET grade = 'A' WHERE name = 'Bob';```8. 删除数据```sqlDELETE FROM Students WHERE id = 3;```9. 聚合函数```sqlSELECT AVG(age) AS average_age FROM Students;```10. 分组查询```sqlSELECT grade, COUNT(*) AS count FROM Students GROUP BY grade; ```11. 连接查询```sqlCREATE TABLE IF NOT EXISTS Courses (student_id INT,course_name VARCHAR(50));INSERT INTO Courses (student_id, course_name)VALUES(1, 'Math'),(2, 'English'),(3, 'History');SELECT , Courses.course_nameFROM StudentsJOIN Courses ON Students.id = Courses.student_id;```12. 子查询```sqlSELECT name, ageFROM StudentsWHERE age > (SELECT AVG(age) FROM Students);```13. 排序查询```sqlSELECT * FROM Students ORDER BY age DESC;```14. 限制查询结果```sqlSELECT * FROM Students LIMIT 2;```15. 更新表结构```sqlALTER TABLE StudentsADD COLUMN gender VARCHAR(10) AFTER age;```16. 删除表```sqlDROP TABLE IF EXISTS Courses;```17. 删除数据库```sqlDROP DATABASE IF EXISTS School;```18. 事务操作```sqlSTART TRANSACTION;UPDATE Students SET grade = 'A' WHERE name = 'Alice'; UPDATE Students SET grade = 'B' WHERE name = 'Bob'; COMMIT;```19. 创建索引```sqlCREATE INDEX idx_age ON Students(age);```20. 使用视图```sqlCREATE VIEW Grade_A_Students ASSELECT * FROM Students WHERE grade = 'A'; SELECT * FROM Grade_A_Students;```。

全国计算机二级MySQL操作题(五)

全国计算机二级MySQL操作题(五)

二级MYSQL题目051.请在“答题”菜单下选择相应命令,并按照题目要求完成下面的基本操作题,具体要求如下:注意:下面出现的“考生文件夹”均为%USER%给定的企业员工管理数据库db_yggl中包括部门表tb_dept和职工表tb_emp,tb_dept包含的字段有deptno(部门号)、deptname(部门名称)、 manager(部门负责人)、office(办公地点)、telephone(电话),tb_emp包含的字段有eno(员工号)、name(姓名)、sex(性别)、birth(出生年份)、 education(学历)、worktime(参加工作时间)、title(职务)、salary(工资)、 telephone(电话)和deptno(部门号)。

请按要求完成以下操作:1.用SQL语句在tb_dept表的deptname属性上创建一个唯一性降序索引idx_dept。

2.编写SQL语句,在tb_dept中添加一条记录,deptno为D4,deptname为“营销部”。

3.用SQL语句根据员工的出生年份查询员工的年龄(设当前年份为2014年),要求查询结果显示为“姓名”和“年龄”,记录顺序仍按表中顺序为序,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。

4.用SQL语句为“市场部”的负责人建立一个视图v_dept,要求显示该部门负责人的姓名及其管理的员工姓名、学历和工资。

5.新建一个名称为stud的用户,主机名为localhost,并为其授予对tb_emp表的select权限。

正确答案:解析:1.alter table tb_dept add index idx_dept(deptname desc) ;解析:使用add index语句添加索引,使用desc关键字设置降序2.Insert into tb_dept(deptno,deptname) values ('D4','营销部');解析:使用insert语句插入数据3.select 2014-birth as '年龄',name as '姓名' from tb_emp;解析:使用select语句,使用as语句为字段其别名,本题的别名为“年龄”,“姓名”。

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

Student(Sid,Sname,Sage,Ssex) 学生表
Course(Cid,Cname,Ctid) 课程表
SC(Sid,Cid,score) 成绩表
Teacher(Tid,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
Select stu.sid
from Student stu,SC sc,Course c
where stu.sid=sc.sid and sc.cid=c.cid
and (select score from SC where cid = (select cid from Course where cname=’001’)) > (select score from SC where cid = (select cid from Course where cname=’002’))
2、查询平均成绩大于60分的同学的学号和平均成绩;
3、查询所有同学的学号、姓名、选课数、总成绩;
Select sid 学号,sname 姓名,
(select Count ) 选课数,() 总成绩
From Student
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”课程的同学学号、2号课的平均成绩;
17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分
18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分
19、按各科平均成绩从低到高和及格率的百分数从高到低顺序
20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)
21、查询不同老师所教不同课程平均分从高到低显示
SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(ame) AS 课程名称,A VG(Score) AS 平均成绩
22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)
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人的课程才统计)。

要求输出课程号和选修人数,查询结果按人数降序排列,查询结果按人数降序排列,若人数相同,按课程号升序排列
45、检索至少选修两门课程的学生学号
46、查询全部学生都选修的课程的课程号和课程名
47、查询没学过“叶平”老师讲授的任一门课程的学生姓名
48、查询两门以上不及格课程的同学的学号及其平均成绩
49、检索“004”课程分数小于60,按分数降序排列的同学学号
50、删除“002”同学的“001”课程的成绩。

相关文档
最新文档