MySQL查询句子练习题,测验满足用了ITeye - 威尼斯人

MySQL查询句子练习题,测验满足用了ITeye

2019年04月04日11时31分56秒 | 作者: 采蓝 | 标签: 查询,核算,机系 | 浏览: 1260


1.创立student和score表
CREATE  TABLE  student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
name  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4)  ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50)
);

创立score表。SQL代码如下:
CREATE  TABLE  score (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
stu_id  INT(10)  NOT NULL ,
c_name  VARCHAR(20) ,
grade  INT(10)
);

2.为student表和score表添加记载
向student表刺进记载的INSERT句子如下:
INSERT INTO student VALUES( 901,张老迈, 男,1985,核算机系, 北京市海淀区);
INSERT INTO student VALUES( 902,张老二, 男,1986,中文系, 北京市昌平区);
INSERT INTO student VALUES( 903,张三, 女,1990,中文系, 湖南省永州市);
INSERT INTO student VALUES( 904,李四, 男,1990,英语系, 辽宁省阜新市);
INSERT INTO student VALUES( 905,王五, 女,1991,英语系, 福建省厦门市);
INSERT INTO student VALUES( 906,王六, 男,1988,核算机系, 湖南省衡阳市);
向score表刺进记载的INSERT句子如下:
INSERT INTO score VALUES(NULL,901, 核算机,98);
INSERT INTO score VALUES(NULL,901, 英语, 80);
INSERT INTO score VALUES(NULL,902, 核算机,65);
INSERT INTO score VALUES(NULL,902, 中文,88);
INSERT INTO score VALUES(NULL,903, 中文,95);
INSERT INTO score VALUES(NULL,904, 核算机,70);
INSERT INTO score VALUES(NULL,904, 英语,92);
INSERT INTO score VALUES(NULL,905, 英语,94);
INSERT INTO score VALUES(NULL,906, 核算机,90);
INSERT INTO score VALUES(NULL,906, 英语,85);

3.查询student表的一切记载
mysql SELECT * FROM student;
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 |
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 |
| 903 | 张三  | 女  |  1990 | 中文系  | 湖南省永州市 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
| 905 | 王五  | 女  |  1991 | 英语系  | 福建省厦门市 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 |
+-+++-+++

4.查询student表的第2条到4条记载
mysql SELECT * FROM student LIMIT 1,3;
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 |
| 903 | 张三  | 女  |  1990 | 中文系  | 湖南省永州市 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
+-+++-+++

5.从student表查询一切学生的学号(id)、名字(name)和院系(department)的信息
mysql SELECT id,name,department FROM student;
+-+++
| id  | name  | department |
+-+++
| 901 | 张老迈 | 核算机系  |
| 902 | 张老二 | 中文系  |
| 903 | 张三  | 中文系  |
| 904 | 李四  | 英语系  |
| 905 | 王五  | 英语系  |
| 906 | 王六  | 核算机系  |
+-+++

6.从student表中查询核算机系和英语系的学生的信息
mysql SELECT * FROM student WHERE department IN (核算机系,英语系);
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
| 905 | 王五  | 女  |  1991 | 英语系  | 福建省厦门市 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 |
+-+++-+++

7.从student表中查询年纪18~22岁的学生信息
mysql SELECT id,name,sex,2013-birth AS age,department,address
  - FROM student
  - WHERE 2013-birth BETWEEN  18 AND 22;
+-++++++
| id  | name | sex  | age  | department | address  |
+-++++++
| 905 | 王五 | 女  |  22 | 英语系  | 福建省厦门市 |
+-++++++
mysql SELECT id,name,sex,2013-birth AS age,department,address
  - FROM student
  - WHERE 2013-birth =18 AND 2013-birth
+-++++++
| id  | name | sex  | age  | department | address  |
+-++++++
| 905 | 王五 | 女  |  22 | 英语系  | 福建省厦门市 |
+-++++++

8.从student表中查询每个院系有多少人
mysql SELECT department, COUNT(id) FROM student GROUP BY department;
++-+
| department | COUNT(id) |
++-+
| 核算机系  |  2 |
| 英语系  |  2 |
| 中文系  |  2 |
++-+
9.从score表中查询每个科目的最高分
mysql SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
+++
| c_name | MAX(grade) |
+++
| 核算机 |  98 |
| 英语  |  94 |
| 中文  |  95 |
+++

10.查询李四的考试科目(c_name)和考试成果(grade)
mysql SELECT c_name, grade
  -   FROM score WHERE stu_id=
  -   (SELECT id FROM student
  -   WHERE name= 李四 );
++-+
| c_name | grade |
++-+
| 核算机 |  70 |
| 英语  |  92 |
++-+

11.用衔接的方法查询一切学生的信息和考试信息
mysql SELECT student.id,name,sex,birth,department,address,c_name,grade
  - FROM student,score
  -   WHERE student.id=score.stu_id;
+-+++-++++-+
| id  | name  | sex  | birth | department | address  | c_name | grade |
+-+++-++++-+
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 | 核算机 |  98 |
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 | 英语  |  80 |
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 | 核算机 |  65 |
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 | 中文  |  88 |
| 903 | 张三  | 女  |  1990 | 中文系  | 湖南省永州市 | 中文  |  95 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 | 核算机 |  70 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 | 英语  |  92 |
| 905 | 王五  | 女  |  1991 | 英语系  | 福建省厦门市 | 英语  |  94 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 核算机 |  90 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 英语  |  85 |
+-+++-++++-+

12.核算每个学生的总成果
mysql SELECT student.id,name,SUM(grade) FROM student,score
  - WHERE student.id=score.stu_id
  - GROUP BY id;
+-+++
| id  | name  | SUM(grade) |
+-+++
| 901 | 张老迈 |  178 |
| 902 | 张老二 |  153 |
| 903 | 张三  |  95 |
| 904 | 李四  |  162 |
| 905 | 王五  |  94 |
| 906 | 王六  |  175 |
+-+++

13.核算每个考试科目的均匀成果
mysql SELECT c_name,AVG(grade) FROM score GROUP BY c_name;
+++
| c_name | AVG(grade) |
+++
| 核算机 |  80.7500 |
| 英语  |  87.7500 |
| 中文  |  91.5000 |
+++

14.查询核算机成果低于95的学生信息
mysql SELECT * FROM student
  - WHERE id IN
  - (SELECT stu_id FROM score
  - WHERE c_name="核算机" and grade
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 |
+-+++-+++

15.查询一起参与核算机和英语考试的学生的信息
mysql SELECT *  FROM student
  -   WHERE id =ANY
  -   ( SELECT stu_id FROM score
  -   WHERE stu_id IN (
  -   SELECT stu_id FROM
  -   score WHERE c_name=  核算机)
  -   AND c_name= 英语 );
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 |
+-+++-+++
mysql SELECT a.* FROM student a ,score b ,score c
  - WHERE a.id=b.stu_id
  - AND b.c_name=核算机
  - AND a.id=c.stu_id
  - AND c.c_name=英语;
+-+++-+++
| id  | name  | sex  | birth | department | address  |
+-+++-+++
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 |
| 904 | 李四  | 男  |  1990 | 英语系  | 辽宁省阜新市 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 |
+-+++-+++

16.将核算机考试成果按从高到低进行排序
mysql SELECT stu_id, grade
  -   FROM score WHERE c_name= 核算机
  -   ORDER BY grade DESC;
++-+
| stu_id | grade |
++-+
|  901 |  98 |
|  906 |  90 |
|  904 |  70 |
|  902 |  65 |
++-+

17.从student表和score表中查询出学生的学号,然后兼并查询成果
mysql SELECT id  FROM student
  - UNION
  - SELECT stu_id  FROM score;
+-+
| id  |
+-+
| 901 |
| 902 |
| 903 |
| 904 |
| 905 |
| 906 |
+-+

18.查询姓张或许姓王的同学的名字、院系和考试科目及成果
mysql SELECT student.id, name,sex,birth,department, address, c_name,grade
  - FROM student, score
  - WHERE
  -   (name LIKE  张%  OR name LIKE  王%)
  -   AND
  -   student.id=score.stu_id ;
+-+++-++++-+
| id  | name  | sex  | birth | department | address  | c_name | grade |
+-+++-++++-+
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 | 核算机 |  98 |
| 901 | 张老迈 | 男  |  1985 | 核算机系  | 北京市海淀区 | 英语  |  80 |
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 | 核算机 |  65 |
| 902 | 张老二 | 男  |  1986 | 中文系  | 北京市昌平区 | 中文  |  88 |
| 903 | 张三  | 女  |  1990 | 中文系  | 湖南省永州市 | 中文  |  95 |
| 905 | 王五  | 女  |  1991 | 英语系  | 福建省厦门市 | 英语  |  94 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 核算机 |  90 |
| 906 | 王六  | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 英语  |  85 |
+-+++-++++-+

19.查询都是湖南的学生的名字、年纪、院系和考试科目及成果
mysql SELECT student.id, name,sex,birth,department, address, c_name,grade
  - FROM student, score
  - WHERE address LIKE 湖南%  AND
  -   student.id=score.stu_id;
+-+++-++++-+
| id  | name | sex  | birth | department | address  | c_name | grade |
+-+++-++++-+
| 903 | 张三 | 女  |  1990 | 中文系  | 湖南省永州市 | 中文  |  95 |
| 906 | 王六 | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 核算机 |  90 |
| 906 | 王六 | 男  |  1988 | 核算机系  | 湖南省衡阳市 | 英语  |  85 |
+-+++-++++-+
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2
  • 3
  • 4

    MongoDBITeye

    文档,测验,调集
  • 5

    RAC的Diskgroup重建ITeye

    磁盘,重建,数据库
  • 6

    Switch to UTFITeye

    编码,设置,文件
  • 7

    pl/sql使用之使用utlITeye

    文件,办法,输出
  • 8
  • 9

    (转)in 和 existITeye

    分区,查询,一个
  • 10

    oracle正则表达式ITeye

    正则表达式,匹配,表达式