zoukankan      html  css  js  c++  java
  • mysql 查询 练习题及答案

    CREATE DATABASE school;
    USE school;
    /*1.创建student表格*//*id为主键 非空 唯一 */
    CREATE TABLE student (id INT(10) PRIMARY KEY NOT NULL UNIQUE,
    uname VARCHAR(20) NOT NULL,
    sex VARCHAR(4),
    birth YEAR,
    department VARCHAR(20),
    address VARCHAR(50));
    /*1.创建score表格*/
    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表格增加记录*/
    INSERT INTO student VALUES (901,'张老大', '男',1985,'计算机系', '北京市海淀区'),
    (902,'张老二', '男',1986,'中文系', '北京市昌平区'),
    (903,'张三', '女',1990,'中文系', '湖南省永州市'),
    (904,'李四', '男',1990,'英语系', '辽宁省阜新市'),
    (905,'王五', '女',1991,'英语系', '福建省厦门市'),
    (906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
    INSERT INTO score VALUES (NULL,901, '计算机',98),
    (NULL,901, '英语', 80),
    (NULL,902, '计算机',65),
    (NULL,902, '中文',88),
    (NULL,903, '中文',95),
    (NULL,904, '计算机',70),
    (NULL,904, '英语',92),
    (NULL,905, '英语',94),
    (NULL,906, '计算机',90),
    (NULL,906, '英语',85);
    /*3.查询student表的所有记录*/
    SELECT * FROM student;
    /*4.查询student表的第2条到4条记录*/
    SELECT * FROM student LIMIT 1,3;
    /*5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息*/
    SELECT id,uname,department FROM student;
    /*6.从student表中查询计算机系和英语系的学生的信息*/
    SELECT * FROM student WHERE department IN('计算机系','英语系');
    /*7.从student表中查询年龄18~22岁的学生信息*/
    SELECT id,uname,sex,2019-birth,department,address FROM student
    WHERE 2019-birth BETWEEN 24 AND 28;
    /*或*/
    SELECT id,uname,sex,2019-birth,department,address FROM student
    WHERE 2019-birth>=24 AND 2019-birth<=28;
    /*8.从student表中查询每个院系有多少人 */
    SELECT department,COUNT(id) FROM student GROUP BY department;
    /*9.从score表中查询每个科目的最高分*/
    SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
    /*10.查询李四的考试科目(c_name)和考试成绩(grade)*/
    SELECT c_name,grade FROM score WHERE stu_id=(SELECT id FROM student WHERE uname ='李四');
    /*用连接的方式查询所有学生的信息和考试信息*/
    SELECT student.id,uname,sex,birth,department,address,c_name,grade
    FROM student,score WHERE student.id = score.stu_id;
    /*12.计算每个学生的总成绩*/
    SELECT student.id,uname,SUM(grade) FROM student,score
    WHERE student.id = score.stu_id GROUP BY id;
    /*13.计算每个考试科目的平均成绩*/
    SELECT c_name,AVG(grade) FROM score GROUP BY c_name;
    /*14.查询计算机成绩低于95的学生信息*/
    SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_name='计算机' AND grade<95);
    /*15.查询同时参加计算机和英语考试的学生的信息*/
    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='英语');
    #或
    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='英语';
    /*16.将计算机考试成绩按从高到低进行排序*/
    SELECT stu_id,grade FROM score WHERE c_name='计算机' ORDER BY grade DESC;
    /*17.从student表和score表中查询出学生的学号,然后合并查询结果*/
    SELECT id FROM student UNION SELECT stu_id FROM score;
    /*18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩*/
    SELECT student.id,uname,sex,birth,department,address,c_name,grade
    FROM student,score WHERE (uname LIKE '张%' OR uname LIKE '王%') AND student.id=score.stu_id;
    /*19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩*/
    SELECT student.id,uname,sex,birth,department,address,c_name,grade
    FROM student,score WHERE student.address LIKE '湖南%' AND student.id = score.stu_id;

  • 相关阅读:
    Anderson《空气动力学基础》5th读书笔记 第0记——白金汉PI定理
    108、将有序数组转换为二叉搜索树
    104、二叉树的最大深度
    237、删除链表中的节点
    1480、一维数组的动态和
    伪类与伪元素的由来及区别
    617、合并二叉树
    CDN
    JS DOM编程艺术 | 笔记
    HTML进阶
  • 原文地址:https://www.cnblogs.com/LFY001023/p/10623868.html
Copyright © 2011-2022 走看看