Mysql数据库之单表查询

news2024/10/6 14:38:13

目录

一、练习时先导入数据如下: 

二、查询验证导入是否成功

三、单表查询

 四、where和having的区别


一、练习时先导入数据如下: 

素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等
CREATE TABLE `worker` (
    `部门号` int(11) NOT NULL,
    `职工号` int(11) NOT NULL,
    `工作时间` date NOT NULL,
    `工资` float(8,2) NOT NULL,
    `政治面貌` varchar(10) NOT NULL DEFAULT '群众',
    `姓名` varchar(20) NOT NULL,
    `出生日期` date NOT NULL,
    `年龄` int,
    PRIMARY KEY (`职工号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`)
VALUES (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1',11),
       (101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8',22),
       (102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8',33),
       (102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5',44),
       (102, 1005, '2014-4-1', 4800.00, '党员', '钱七', '1992-12-30',55),
       (102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2',66);

UPDATE `worker`
SET `年龄` = YEAR(CURDATE()) - YEAR(`出生日期`) - (DATE_FORMAT(CURDATE(), '%m%d') < DATE_FORMAT(`出生日期`, '%m%d'));

二、查询验证导入是否成功

三、单表查询

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 工作日期表 AS
SELECT 职工号, 姓名, 工作时间 FROM worker;


7、显示所有女职工的年龄。 (这里博主忘记增加年龄段,底下是正确的命令)

 select 年龄 from worker where 性别 = '女';

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

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


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

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


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

select 姓名 from worker where 工资 between 1000 and 2000;


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

SELECT 姓名 FROM worker WHERE 姓名 LIKE '陈%' OR 姓名 LIKE '李%';


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

SELECT 职工号, 姓名, 政治面貌 FROM worker WHERE 部门号 IN (2, 3);

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

select *from worker order by 出生日期;


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

select 职工号,姓名 from worker order by 工资 desc limit 3;


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

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

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

select 部门号,sum(工资) AS 总工资, AVG(工资) AS 平均工资 from worker group by 部门号;


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

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

 四、where和having的区别

  1. WHERE 子句: WHERE 子句用于在执行 SELECT 查询时,对表中的行进行筛选。它作用于从表中选取的数据行,在数据从表中读取到内存之前进行筛选。这意味着 WHERE 子句可以根据条件过滤掉不符合要求的行,只有符合条件的行会被取回到查询结果中。

  2. HAVING 子句: HAVING 子句用于在执行聚合函数(如 SUMCOUNTAVG 等)后对结果进行筛选。它作用于聚合结果集,允许你筛选聚合后的数据,类似于对聚合结果进行二次筛选。HAVING 子句通常与 GROUP BY 子句一起使用,因为聚合函数在分组后才有意义。

总结:

  • WHERE 子句用于在数据选取之前筛选数据行,它作用于从表中选取的原始数据。
  • HAVING 子句用于在聚合函数计算之后筛选结果集,它作用于聚合后的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/860687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

umi快速搭建中后台管理系统(命令行创建和区块开发的区别)

后台管理系统 命令行创建新项目命令行效果图配置文件package.json umi3构建区块readme.md主页面页面布局页面布局的一些参数总结 区块开发步骤三级目录 命令行创建新项目 命令行 1、 npm i ant-design/pro-cli -g 2、 pro create demo_spacemv_managementsys 3、 umi 3 simpl…

安防监控小程序商城开发攻略

在当今信息化的时代&#xff0c;安防监控已经成为了人们生活中的重要一环。为了更好地满足人们对于安全的需求&#xff0c;许多企业都开始利用小程序来开展安防监控业务。那么&#xff0c;如何搭建一个安防监控小程序呢&#xff1f;下面我们将一步步来进行介绍。 首先&#xff…

Oracle 开发篇+Java通过共享模式访问Oracle数据库

标签&#xff1a;共享服务器进程、shared server process释义&#xff1a;shared server process是Oracle的一种数据库连接技术&#xff0c;类似的还有专用模式和DRCP ★ 数据库配置 alter system set shared_server_sessions1 scopespfile; alter system set max_shared_serv…

Delphi7通过VB6之COM对象调用PowerBASIC写的DLL功能

Delphi7通过VB6之COM对象调用PowerBASIC写的DLL功能。标题挺长&#xff0c;其实目标很简单&#xff0c;就是在Delphi7中使用PowerBASIC的MKI/CVI, MKS/CVS, MKD/CVD&#xff0c;并顺便加入CRC16检验函数&#xff0c;再进行16进制高低字节调整&#xff0c;方便在VB6、Delphi、La…

基于grpc从零开始搭建一个准生产分布式应用(系列)

花了点时间先把程序代码完全写完了&#xff0c;加了这个章节。因为后续章节是连续的&#xff0c;没有一个总纲同学们难免看的云里雾里的。本章先描述下完整的源码如何运行以及工程的结构。此专题大概由30章组成&#xff0c;真正的从0开始&#xff0c;框架是在原生产环境中抽取的…

【目标检测系列】YOLOV2解读

为更好理解YOLOv2模型&#xff0c;请先移步&#xff0c;了解YOLOv1后才能更好的理解YOLOv2所做的改进。 前情回顾&#xff1a;【目标检测系列】YOLOV1解读_怀逸%的博客-CSDN博客 背景 通用的目标检测应该具备快速、准确且能过识别各种各样的目标的特点。自从引入神经网络以来&a…

at命令 执行一次指定定时任务

简介&#xff1a; at命令 可以设置在一个指定的时间执行一个指定任务&#xff0c;只能执行一次&#xff0c;使用前确认系统开启了atd Service 安装&#xff1a; [rootnode1 ~]# yum -y install at启动&#xff1a; [rootnode1 ~]# systemctl enable atd [rootnode1 ~]# sys…

百望云斩获“2023企业财税服务平台TOP15”奖项

企业服务业务越来越成为企业发展中不可或缺的一部分。 根据权威数据&#xff0c;企业服务的市场规模在过去五年内年均增长率超过15%。这一点&#xff0c;在投融资领域可能表现得更加迅速也更加明显—— 依据IT桔子、烯牛数据的调研&#xff1a;7月份&#xff0c;企服领域投融资…

SonarQube安装与Java、PHP代码质量分析扫描

文章目录 1、下载安装1.1、SonarQube下载1.2、SonarQube安装1.3、SonarQube中文汉化1.4、SonarScanner扫描器 2、扫描项目2.1、java代码扫描2.2、php代码扫描 1、下载安装 SonarQube负责存储代码数据、收集数据、分析代码和生成报告等。 1.1、SonarQube下载 下载地址&#x…

HTML+CSS+JavaScript:渲染电商站购物车页面

一、需求 根据下图渲染购物车页面 二、代码素材 以下是缺失JS部分的代码&#xff0c;感兴趣的小伙伴可以先自己试着写一写 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatib…

木马免杀(篇二)shellcode 学习

木马免杀&#xff08;篇二&#xff09;shellcode 学习 —— shellcode介绍 shellcode 是一段利用软件漏洞进行执行的机器码&#xff0c; 通常用汇编语言编写并被翻译为十六进制操作码&#xff0c;因常被攻击者用于获取系统的命令终端shell 接口&#xff0c;所以被称为 shellc…

NLP语言模型概览

语言模型结构分类 Encoder-Decoder&#xff08;Transformer&#xff09;: Encoder 部分是 Masked Multi-Head Self-Attention&#xff0c;Decoder 部分是 Casual Multi-Head Cross-Attention 和 Casual Multi-Head Self-Attention 兼具。比如T5&#xff0c;BART&#xff0c;MA…

HCIP STP(生成树)

目录 一、STP概述 二、生成树协议原理 三、802.1D生成树 四、STP的配置BPDU 1、配置BPDU的报文格式 2、配置BPDU的工作过程 3、TCN BPDU 4、TCN BPDU的工作过程 五、STP角色选举 1、根网桥选举 2、根端口选举 3、指定端口选举 4、非指定端口选举 六、STP的接口状…

免费思维导图软件有哪些?精选6款免费好用、功能强大的思维导图软件!

相信大家或多或少都听说过思维导图以及它的强大作用&#xff0c;它简单又高效&#xff0c;能够将散点链接成为相关联的、有逻辑的整体&#xff0c;更好地梳理和管理知识。不管你有没有真正体验过思维导图带来的神奇效果&#xff0c;相信你一定也在寻找一款免费好用的思维导图软…

找不到msvcp120dll,无法继续执行代码,怎么解决?

当msvcp120.dll文件丢失或找不到时&#xff0c;会导致无法运行使用C编写的程序。这可能是由于以下原因导致的&#xff1a; 1.删除或移动文件&#xff1a;如果你不小心删除了或移动了msvcp120.dll文件&#xff0c;你将无法找到它并加载它&#xff0c;从而导致程序无法正常运行。…

2023上半年京东奶粉行业品牌销售排行榜(京东数据分析平台)

近年来&#xff0c;受新生儿人口数量下降的影响&#xff0c;婴幼儿奶粉市场的需求量萎缩&#xff0c;市场由增量竞争转为存量竞争。根据鲸参谋电商数据分析平台的数据显示&#xff0c;今年上半年&#xff0c;京东婴幼儿奶粉市场的销量将近4400万&#xff0c;环比下降约19%&…

AtcoderABC224场

A - TiresA - Tires 题目大意 题目要求判断给定字符串S的末尾是以"er"还是"ist"结尾&#xff0c;并输出对应的结果。 思路分析 使用substr函数获取字符串S的末尾2个字符或3个字符。 判断获取到的子字符串是否等于"er"或"ist"&#…

赛事 | 第25届中国机器人及人工智能大赛全国决赛榜单发布

第25届中国机器人及人工智能大赛成功举办 2023年6月13日至14日&#xff0c;第二十五届中国机器人及人工智能大赛于海南科技职业大学成功举办。大赛由中国人工智能学会主办&#xff0c;共有来自清华大学、哈尔滨工业大学、中国科学技术大学、西安交通大学等500多所高校进入全国…

Vue2:路由

Vue2&#xff1a;路由 Date: May 28, 2023 Sum: vue-router基本使用、高级用法 单页面应用程序 概念&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 案例&#xff1a; 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页…

8.10 用redis实现缓存功能和Spring Cache

什么是缓存? 缓存(Cache), 就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码。 通过Redis来缓存数据&#xff0c;减少数据库查询操作; 逻辑 每个分类的菜品保存一份缓存数据 数据库菜品数据有变更时清理缓存数据 如何将商品数据缓存起…