码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • mysql第三次作业(windows)


    目录

    二、多表查询

    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表的所有记录

    4.查询student表的第2条到4条记录

    5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息

    6.从student表中查询计算机系和英语系的学生的信息

    7.从student表中查询年龄18~22岁的学生信息

    8.从student表中查询每个院系有多少人

    9.从score表中查询每个科目的最高分

    10.查询李四的考试科目(c_name)和考试成绩(grade)

    11.用连接的方式查询所有学生的信息和考试信息

    12.计算每个学生的总成绩

    13.计算每个考试科目的平均成绩

    14.查询计算机成绩低于95的学生信息

    15.查询同时参加计算机和英语考试的学生的信息

    16.将计算机考试成绩按从高到低进行排序

    17.从student表和score表中查询出学生的学号,然后合并查询结果

    18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩

    19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩


    3.查询student表的所有记录

    1. mysql> select * from student;
    2. +-----+-----------+------+-------+--------------+--------------------+
    3. | id | name | sex | birth | department | address |
    4. +-----+-----------+------+-------+--------------+--------------------+
    5. | 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
    6. | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
    7. | 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
    8. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    9. | 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
    10. | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
    11. +-----+-----------+------+-------+--------------+--------------------+
    12. 6 rows in set (0.00 sec)


    4.查询student表的第2条到4条记录

    1. mysql> select * from student limit 1,3;
    2. +-----+-----------+------+-------+------------+--------------------+
    3. | id | name | sex | birth | department | address |
    4. +-----+-----------+------+-------+------------+--------------------+
    5. | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
    6. | 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
    7. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    8. +-----+-----------+------+-------+------------+--------------------+
    9. 3 rows in set (0.00 sec)

    5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息

    1. mysql> select id,name,department from student;
    2. +-----+-----------+--------------+
    3. | id | name | department |
    4. +-----+-----------+--------------+
    5. | 901 | 张老大 | 计算机系 |
    6. | 902 | 张老二 | 中文系 |
    7. | 903 | 张三 | 中文系 |
    8. | 904 | 李四 | 英语系 |
    9. | 905 | 王五 | 英语系 |
    10. | 906 | 王六 | 计算机系 |
    11. +-----+-----------+--------------+
    12. 6 rows in set (0.00 sec)

    6.从student表中查询计算机系和英语系的学生的信息

    1. mysql> select * from student where department='计算机系' or department='英语系';
    2. +-----+-----------+------+-------+--------------+--------------------+
    3. | id | name | sex | birth | department | address |
    4. +-----+-----------+------+-------+--------------+--------------------+
    5. | 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
    6. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    7. | 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
    8. | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
    9. +-----+-----------+------+-------+--------------+--------------------+
    10. 4 rows in set (0.00 sec)

    7.从student表中查询年龄18~22岁的学生信息

    1. mysql> select * from student where 2023-birth between 10 and 22;
    2. Empty set (0.00 sec)

    8.从student表中查询每个院系有多少人

    1. mysql> select department,count(*) from student group by department;
    2. +--------------+----------+
    3. | department | count(*) |
    4. +--------------+----------+
    5. | 计算机系 | 2 |
    6. | 中文系 | 2 |
    7. | 英语系 | 2 |
    8. +--------------+----------+
    9. 3 rows in set (0.00 sec)

    9.从score表中查询每个科目的最高分

    1. mysql> select c_name,max(grade) from score group by c_name;
    2. +-----------+------------+
    3. | c_name | max(grade) |
    4. +-----------+------------+
    5. | 英语 | 94 |
    6. | 计算机 | 90 |
    7. | 中文 | 95 |
    8. +-----------+------------+
    9. 3 rows in set (0.00 sec)

    10.查询李四的考试科目(c_name)和考试成绩(grade)

    1. mysql> select c_name,grade from score inner join student on score.stu_id=student.id where name='李四';
    2. +-----------+-------+
    3. | c_name | grade |
    4. +-----------+-------+
    5. | 计算机 | 70 |
    6. | 英语 | 92 |
    7. +-----------+-------+
    8. 2 rows in set (0.00 sec)

    11.用连接的方式查询所有学生的信息和考试信息

    1. mysql> select * from score inner join student on score.stu_id=student.id;
    2. +----+--------+-----------+-------+-----+-----------+------+-------+--------------+--------------------+
    3. | id | stu_id | c_name | grade | id | name | sex | birth | department | address |
    4. +----+--------+-----------+-------+-----+-----------+------+-------+--------------+--------------------+
    5. | 1 | 901 | 英语 | 80 | 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
    6. | 2 | 902 | 计算机 | 65 | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
    7. | 3 | 902 | 中文 | 88 | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
    8. | 4 | 903 | 中文 | 95 | 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
    9. | 5 | 904 | 计算机 | 70 | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    10. | 6 | 904 | 英语 | 92 | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    11. | 7 | 905 | 英语 | 94 | 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
    12. | 8 | 906 | 计算机 | 90 | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
    13. | 9 | 906 | 英语 | 85 | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
    14. +----+--------+-----------+-------+-----+-----------+------+-------+--------------+--------------------+
    15. 9 rows in set (0.00 sec)

    12.计算每个学生的总成绩

    1. mysql> select stu_id,name,sum(grade) from score inner join student on score.stu_id=student.id group by stu_id;
    2. +--------+-----------+------------+
    3. | stu_id | name | sum(grade) |
    4. +--------+-----------+------------+
    5. | 901 | 张老大 | 80 |
    6. | 902 | 张老二 | 153 |
    7. | 903 | 张三 | 95 |
    8. | 904 | 李四 | 162 |
    9. | 905 | 王五 | 94 |
    10. | 906 | 王六 | 175 |
    11. +--------+-----------+------------+
    12. 6 rows in set (0.00 sec)

    13.计算每个考试科目的平均成绩

    1. mysql> select c_name,avg(grade) from score inner join student on score.stu_id=student.id group by c_name;
    2. +-----------+------------+
    3. | c_name | avg(grade) |
    4. +-----------+------------+
    5. | 英语 | 87.7500 |
    6. | 计算机 | 75.0000 |
    7. | 中文 | 91.5000 |
    8. +-----------+------------+
    9. 3 rows in set (0.00 sec)

    14.查询计算机成绩低于95的学生信息

    1. mysql> select * from student inner join score on score.stu_id=student.id where grade < 75 and c_name='计算机';
    2. +-----+-----------+------+-------+------------+--------------------+----+--------+-----------+-------+
    3. | id | name | sex | birth | department | address | id | stu_id | c_name | grade |
    4. +-----+-----------+------+-------+------------+--------------------+----+--------+-----------+-------+
    5. | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 | 2 | 902 | 计算机 | 65 |
    6. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 | 5 | 904 | 计算机 | 70 |
    7. +-----+-----------+------+-------+------------+--------------------+----+--------+-----------+-------+
    8. 2 rows in set (0.00 sec)

    15.查询同时参加计算机和英语考试的学生的信息

    1. mysql> select * from student where id in(select stu_id from score where c_name ='计算机' and stu_id in( select stu_id from score where c_name ='英语'));
    2. +-----+--------+------+-------+--------------+--------------------+
    3. | id | name | sex | birth | department | address |
    4. +-----+--------+------+-------+--------------+--------------------+
    5. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
    6. | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
    7. +-----+--------+------+-------+--------------+--------------------+
    8. 2 rows in set (0.00 sec)

    16.将计算机考试成绩按从高到低进行排序

    1. mysql> select * from score where c_name='计算机' order by grade desc;
    2. +----+--------+-----------+-------+
    3. | id | stu_id | c_name | grade |
    4. +----+--------+-----------+-------+
    5. | 8 | 906 | 计算机 | 90 |
    6. | 5 | 904 | 计算机 | 70 |
    7. | 2 | 902 | 计算机 | 65 |
    8. +----+--------+-----------+-------+
    9. 3 rows in set (0.00 sec)

    17.从student表和score表中查询出学生的学号,然后合并查询结果

    1. mysql> select * from student inner join score on score.stu_id=student.id;
    2. +-----+-----------+------+-------+--------------+--------------------+----+--------+-----------+-------+
    3. | id | name | sex | birth | department | address | id | stu_id | c_name | grade |
    4. +-----+-----------+------+-------+--------------+--------------------+----+--------+-----------+-------+
    5. | 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 | 1 | 901 | 英语 | 80 |
    6. | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 | 2 | 902 | 计算机 | 65 |
    7. | 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 | 3 | 902 | 中文 | 88 |
    8. | 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 | 4 | 903 | 中文 | 95 |
    9. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 | 5 | 904 | 计算机 | 70 |
    10. | 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 | 6 | 904 | 英语 | 92 |
    11. | 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 | 7 | 905 | 英语 | 94 |
    12. | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 | 8 | 906 | 计算机 | 90 |
    13. | 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 | 9 | 906 | 英语 | 85 |
    14. +-----+-----------+------+-------+--------------+--------------------+----+--------+-----------+-------+
    15. 9 rows in set (0.00 sec)

    18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩

    1. mysql> select name,department,c_name,grade from student inner join score on score.stu_id=student.id where name like '王%' or name like '张%';
    2. +-----------+--------------+-----------+-------+
    3. | name | department | c_name | grade |
    4. +-----------+--------------+-----------+-------+
    5. | 张老大 | 计算机系 | 英语 | 80 |
    6. | 张老二 | 中文系 | 计算机 | 65 |
    7. | 张老二 | 中文系 | 中文 | 88 |
    8. | 张三 | 中文系 | 中文 | 95 |
    9. | 王五 | 英语系 | 英语 | 94 |
    10. | 王六 | 计算机系 | 计算机 | 90 |
    11. | 王六 | 计算机系 | 英语 | 85 |
    12. +-----------+--------------+-----------+-------+
    13. 7 rows in set (0.00 sec)

    19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩

    1. mysql> select name,2023-birth,department,c_name,grade from student inner join score on score.stu_id=student.id where address like '湖南省%';
    2. +--------+------------+--------------+-----------+-------+
    3. | name | 2023-birth | department | c_name | grade |
    4. +--------+------------+--------------+-----------+-------+
    5. | 张三 | 33 | 中文系 | 中文 | 95 |
    6. | 王六 | 35 | 计算机系 | 计算机 | 90 |
    7. | 王六 | 35 | 计算机系 | 英语 | 85 |
    8. +--------+------------+--------------+-----------+-------+
    9. 3 rows in set (0.01 sec)

  • 相关阅读:
    Xception:使用Tensorflow从头开始实现
    【知识简略】说说分布式常见问题及解决方案:分布式锁、分布式事务、分布式session、分布式任务调度;
    SPA项目开发之首页导航+左侧菜单
    【Linux】Linux项目自动化构建工具——make/Makefile
    Ovalbumin-PEG-NTA/TPP 鸡卵白蛋白-聚乙二醇-次氮基三乙酸/磷酸三苯酯
    shell脚本的 正则表达式
    LAST论文翻译
    PT的一些setting
    毕业设计-基于机器学习的图片处理图片倾斜校正
    无监控,不运维!Prometheus 在线服务的监控实操指南
  • 原文地址:https://blog.csdn.net/weixin_68608008/article/details/133819048
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号