iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL——单表与多表查询练习
  • 308
分享到

MySQL——单表与多表查询练习

mysqlandroidoracledockereureka容器数据库 2023-10-26 16:10:50 308人浏览 独家记忆
摘要

Mysql 一、练习一二、练习二 一、练习一 这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker: 紧接着我们创建数据库表并创建表结构: 查看表结构

Mysql

一、练习一

在这里插入图片描述
这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker:
在这里插入图片描述
紧接着我们创建数据库表并创建表结构:
在这里插入图片描述
查看表结构:
在这里插入图片描述
接着我们导入数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们可以看到素材已经创建完毕,这里我们进行之后的操作:

  • 1、显示所有职工的基本信息。

实现代码:

SELECT *FROM worker;

执行结果:
在这里插入图片描述

  • 2、查询所有职工所属部门的部门号,不显示重复的部门号。

实现代码:

SELECT DISTINCT 部门号FROM worker;

执行结果:
在这里插入图片描述

  • 3、求出所有职工的人数。

实现代码:

SELECT COUNT(*) AS 职工人数FROM worker;

执行结果:
在这里插入图片描述

  • 4、列出最高工资和最低工资。

实现代码:

SELECT MAX(工资) AS 最高工资,MIN(工资) AS 最低工资FROM worker;

执行结果:
在这里插入图片描述

  • 5、列出职工的平均工资和总工资。

实现代码:

SELECT AVG(工资) AS '平均工资', SUM(工资) AS '总工资'FROM worker;

执行结果:
在这里插入图片描述

  • 6、创建一个只有职工号、姓名和工作时间的新表,名为工作日期表。

实现代码:

CREATE TABLE 工作日期表 ASSELECT 职工号, 姓名, 工作时间FROM worker;

执行结果:
在这里插入图片描述
在这里插入图片描述

  • 7、显示所有职工的年龄。

实现代码:

SELECT 2023 -YEAR(出生日期) AS 年龄 FROM worker;

执行结果:
在这里插入图片描述

  • 8、列出所有姓刘的职工的职工号、姓名和出生日期。

实现代码:

SELECT 职工号, 姓名, 出生日期FROM workerWHERE 姓名 LIKE '刘%';

执行结果:
在这里插入图片描述

  • 9、列出1960年以前出生的职工的姓名、参加工作日期。

实现代码:

SELECT 姓名,工作时间FROM workerWHERE 出生日期 < '1960-01-01';

执行结果:
在这里插入图片描述

  • 10、列出工资在1000-2000之间的所有职工姓名。

实现代码:

SELECT 姓名FROM workerWHERE 工资 BETWEEN 1000.00 AND 2000.00;

执行结果:
在这里插入图片描述

  • 11、列出所有陈姓和李姓的职工姓名。

实现代码:

SELECT 姓名FROM workerWHERE 姓名 LIKE '陈%' OR 姓名 LIKE '李%';

执行结果:
在这里插入图片描述

  • 12、列出所有部门号为2和3的职工号、姓名、党员否。

实现代码:

SELECT 职工号, 姓名, CASE WHEN 政治面貌 = '党员' THEN '是' ELSE '否' END AS '党员'FROM workerWHERE 部门号 IN (102,103);

执行结果:
在这里插入图片描述

  • 13、将职工表worker中的职工按出生的先后顺序排序

实现代码:

SELECT *FROM workerORDER BY 出生日期;

执行结果:
在这里插入图片描述

  • 14、显示工资最高的前3名职工的职工号和姓名。

实现代码:

SELECT 职工号, 姓名FROM workerORDER BY 工资 DESCLIMIT 3;

执行结果:
在这里插入图片描述

  • 15、求出各部门党员的人数。

实现代码:

SELECT 部门号, COUNT(*) AS '党员人数'FROM workerWHERE 政治面貌 = '党员'GROUP BY 部门号;

执行结果:
在这里插入图片描述

  • 16、统计各部门的工资和平均工资。

实现代码:

SELECT 部门号, SUM(工资) AS '总工资', AVG(工资) AS '平均工资'FROM workerGROUP BY 部门号;

执行结果:
在这里插入图片描述

  • 17、列出总人数大于4的部门号和总人数。

实现代码:

SELECT 部门号, COUNT(*) AS '总人数'FROM workerGROUP BY 部门号HAVING COUNT(*) > 4;

执行结果:
在这里插入图片描述

二、练习二

在这里插入图片描述
这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker,依旧使用上一个练习的数据库。
紧接着我们创建数据库表并创建表结构,查看表结构:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着我们导入数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们可以看到素材已经创建完毕,这里我们进行之后的操作:

  • 1.查询student表的所有记录

实现代码:

SELECT * FROM student;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT * FROM student LIMIT 1,3;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT id, name, department FROM student;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT * FROM student WHERE department IN ('计算机系', '英语系');

执行结果:
在这里插入图片描述

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

实现代码:

SELECT * FROM student WHERE YEAR(CURRENT_DATE) - birth BETWEEN 18 AND 22;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT department, COUNT(*) AS '人数' FROM student GROUP BY department;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT c_name, MAX(grade) AS '最高分' FROM score GROUP BY c_name;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT c_name, grade FROM score WHERE stu_id = (SELECT id FROM student WHERE name = '李四');

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.id, student.name, student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_id;

执行结果:
在这里插入图片描述

  • 10.计算每个学生的总成绩

实现代码:

SELECT student.id, student.name, SUM(score.grade) AS '总成绩'FROM studentJOIN score ON student.id = score.stu_idGROUP BY student.id, student.name;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT c_name, AVG(grade) AS '平均成绩' FROM score GROUP BY c_name;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.*FROM studentJOIN score ON student.id = score.stu_idWHERE score.c_name = '计算机' AND score.grade < 95;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.*FROM studentWHERE id IN (  SELECT s1.stu_id  FROM score AS s1  JOIN score AS s2 ON s1.stu_id = s2.stu_id  WHERE s1.c_name = '计算机' AND s2.c_name = '英语');

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.name, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE score.c_name = '计算机'ORDER BY score.grade DESC;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT id FROM studentUNIONSELECT stu_id FROM score;

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.name, student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE student.name LIKE '张%' OR student.name LIKE '王%';

执行结果:
在这里插入图片描述

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

实现代码:

SELECT student.name, YEAR(CURRENT_DATE) - student.birth AS '年龄', student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE student.address LIKE '%湖南%';

执行结果:
在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_63172698/article/details/133696216

您可能感兴趣的文档:

--结束END--

本文标题: MySQL——单表与多表查询练习

本文链接: https://www.lsjlt.com/news/463939.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL——单表与多表查询练习
    MySQL 一、练习一二、练习二 一、练习一 这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker: 紧接着我们创建数据库表并创建表结构: 查看表结构...
    99+
    2023-10-26
    mysql android oracle docker eureka 容器 数据库
  • MySQL之单表查询、多表查询
    一、单表查询: 单个表的查询方法及语法顺序需要通过实际例子来熟悉 先将表数据创建下: mysql> create database singe_t1; # 建个数据库singe_t1 Query OK, 1 row aff...
    99+
    2023-01-31
    MySQL
  • MySql数据库单表查询与多表连接查询效率对比
    这段时间在做项目的过程中,遇到一个模块,数据之间的联系很复杂,在建表的时候就很纠结,到底该怎么去处理这些复杂的数据呢,是单表查询,然后在业务层去处理数据间的关系,还是直接通过多表连接...
    99+
    2024-04-02
  • mysql-单表查询
    语法:一、单表查询的语法    SELECT 字段1,字段2... FROM 表名        &n...
    99+
    2023-01-30
    mysql
  • 【MySQL】MySQL表之联合查询(多表查询)
    📌前言:本篇博客介绍MySQL数据库的MySQL表之联合查询(多表查询),学习MySQL之前要先安装好MySQL,如果还没有安装的小伙伴可以看看博主前面的博客,里面有详细的安装教程。 那我们废话不多说,直接进入主体!...
    99+
    2023-08-16
    mysql 数据库 java
  • MySQL----多表查询
    MySQL----多表查询 多表关系表与表之间的联系:一对多(多对一)多对多一对一 多表查询多表查询的分类数据准备内连接外连接自连接联合查询子查询标量子查询列子查询行子查询表子查询 多表查询案例 多表关系 在进...
    99+
    2023-08-19
    mysql sql 数据库 多表查询 DB
  • mysql-多表查询
    准备工作:准备两张表,部门表(department)、员工表(employee)mysql> create database db2;Query OK, 1 row affected (0.00 sec)mysql> use d...
    99+
    2023-01-30
    mysql
  • 【MySQL】多表查询
    多表查询 多表关系 一对多(多对一)多对多一对一 一对多 案例:部门与员工 关系:一个部门对应多个员工,一个员工对应一个部门 实现:在多的一方建立外键,指向一的一方的主键 多对多 案例:学生与课程 关...
    99+
    2023-10-04
    mysql 数据库 sql
  • MySQL多表查询
    文章目录 一、什么是多表查询1、概述2、笛卡尔积现象 二、多表查询的分类1、等值连接 vs非等值连接2、自连接 vs 非自连接3、内连接 vs 外连接4、满外连接(FULL OUTE...
    99+
    2023-09-01
    mysql 数据库 sql
  • MySQL --- 多表查询
    多表查询、事务、以及提升查询效率最有手段的索引  一. 多表查询 1.1 多表查询 --- 概述 1.1.1 数据准备 将资料中准备好的多表查询数据准备的SQL脚本导入数据库中。 部门表: 员工表: 1.1.2 介绍 多表查询:指从多张表...
    99+
    2023-09-02
    mysql 数据库
  • Mysql多表练习题30道
    根据上一篇文章建立的表,我们来做一些多表练习: 没建立表的可以点击此链接去建立练习用的表: 目录 1.查询“1”号学生的姓名和各科成绩: 2.查询各个学科的平均成绩和最高成绩: 3.查询所有姓张的同学的各科成绩: 4.查询每个同学的最高成...
    99+
    2023-09-01
    数据库 sql oracle mysql
  • MYSQL 查询命令--单表查询
    基本查询语句 SELECT语句是最常用的查询语句,它的使用方式有些复杂,但功能是相当强大的。 SELECT语句的基本语法如下: select selection_list ...
    99+
    2024-04-02
  • MySQL- 多表查询(上)
    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易,人间真情 前言 我们之前在...
    99+
    2023-09-02
    mysql 数据库 sql
  • MySQL联合查询(多表查询)
    一、内连接 select *from 表1 [ inner | cross ] join 表2 [ on过滤条件 ] [ where查询条件 ] ; [ inner | cross ]: join 内连接关键字(必须要有...
    99+
    2023-09-14
    mysql 数据库 database
  • 连接查询(多表查询)——MySQL
    连接查询(多表查询) 又称多表查询,当查询的字段涉及多个表的时候,就要用到连接查询 分类: 为表起别名: 提高语句的简洁度区分多个重名字段注意:如果为表起了别名,则查询的字段就不能使用原来的别名去限定 内连接 查询A、B 交集部分数据 语...
    99+
    2023-08-18
    数据库 mysql 多表查询
  • MySQL单表查询进阶
    在我们对数据进行操作时,查询无疑是至关重要的,查询操作灵活多变,我们可以根据开发的需求,设计高效的查询操作,把数据库中存储的数据展示给用户。 文章目录 前言 1. 基础查询 ...
    99+
    2023-09-05
    mysql 数据库 sql
  • MySQL多表查询机制
    目录1.前言2.等值连接和非等值连接2.1等值连接2.2非等值连接3.自连接和非自连接3.1自连接3.2非自连接4.内连接和外连接4.1测试数据4.2左外连接4.3右外连接4.4全外...
    99+
    2024-04-02
  • Mysql 多表关联查询
    文章目录 1. Mysql中表之间的关系1.1 多表关系1.2 外键约束 2. 多表联合查询2.1 交叉连接查询:笛卡尔积2.2 内连接查询:inner join2.3 外连接查询2.3.1 左连接:2.3.2 右连接:2.3....
    99+
    2023-08-21
    mysql 数据库 sql
  • MySQL笔记-多表查询
    本文标签 : 多表查询  事务四大特性  并发事务问题  事务隔离级别 文章目录 目录 文章目录 一、多表查询 1.多表关系 2.多表查询概念  3.多表查询的分类  4.内连接  5.外连接 6.自连接  ...
    99+
    2023-09-02
    mysql sql笔记 多表查询 事务
  • 单表查询
    完整语法 简单查询 where 时分组前的过滤条件 group by 分组 什么是分组:按照所有记录相同的部分进行归类,一定区分度低的字段为何要分组:当我们要以组为单位进行统计时就必须分组,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作