mysql 查询超过60分钟的_mysql基础级《简单查询》60分钟搞定

初学者,推荐大家使用----emp(雇员信息表)和dept(部门表),这两张表的字段及数据内容都设计的比较经典。来吧!先跟着我的操作,导入我提供的数据库脚本。

导入两张表sql脚本到数据库create database testdb;

use testdb;

drop table if exists `emp`;

create table `emp` (

`empno` int(4) default null comment '雇员编号',

`ename` varchar(10) default null comment '雇员名称',

`job` varchar(9) default null comment '雇员工作',

`mgr` int(4) default null comment '上级领导编号',

`hiredate` date default null comment '雇佣日期',

`sal` decimal(7,2) default null comment '雇员工资',

`comm` decimal(7,2) default null comment '雇员奖金',

`deptno` int(2) default null comment '部门编号'

) engine=innodb default charset=utf8;

insert into `emp`(`empno`,`ename`,`job`,`mgr`,`hiredate`,`sal`,`comm`,`deptno`) values (7369,'smith','clerk',7902,null,'800.00',null,20),(7499,'allen','salesman',7698,null,'1600.00','300.00',30),(7521,'ward','salesman',7698,null,'1250.00','500.00',30),(7566,'jones','manager',7839,null,'2975.00',null,20),(7654,'martin','salesman',7698,null,'1250.00','1400.00',30),(7698,'blake','manager',7839,null,'2850.00',null,30),(7782,'clark','manager',7839,null,'2450.00',null,10),(7788,'scott','analyst',7566,null,'3000.00',null,20),(7839,'king','president',null,null,'5000.00',null,10),(7844,'turner','salesman',7698,null,'1500.00','0.00',30),(7876,'adams','clerk',7788,null,'1100.00',null,20),(7900,'james','clerk',7698,null,'950.00',null,30),(7902,'ford','analyst',7566,null,'3000.00',null,20),(7934,'miller','clerk',7782,null,'1300.00',null,10);

drop table if exists `dept`;

create table `dept` (

`deptno` int(2) not null comment '部门编号',

`dname` varchar(14) default null comment '部门名称',

`loc` varchar(13) default null comment '部门地址'

) engine=innodb default charset=utf8;

insert into `dept`(`deptno`,`dname`,`loc`) values (10,'accounting','new york'),

(20,'research','dallas'),(30,'sales','chicago'),(40,'operations','boston');

-- 投影操作

指定查询结果中能显示哪些列

-- 选择操作

指定哪些行出现在结果中

-- 排序操作

指定查询的结果以什么样的顺序显示

--查询语句 select

*是统配符,代表所有的字段。

--查询所有雇员信息

select * from emp;

--查询所有雇员的工资、名字、以及工作,

select sal,ename,job from emp;

--表前缀

select emp.ename from emp;

--列别名 -- 别名不影响表的结构

select ename as 雇员姓名 from emp;

--表别名

select e.ename from emp as e;

--计算列

select sal+100 from emp;

--排除重复数据 distinct -- 重要

--查询雇员信息表,工种有多少种。

select distinct job from emp;

--返回限定行数 limit --分页

select * from 表名 limit 开始序号,返回的行数;

select * from emp limit 0,5;

从emp表中查询第3页的数据,每页显示10条。

第几页 每页显示多少条

页数: pageSize = 2

条数: indexSize = 5

第一个参数:

int firstParam = (pageSize-1)*indexSize;

select * from emp limit firstParam,indexSize;

--选择条件 where

--查询雇员姓名为smith的员工信息

select * from emp where ename = 'smith';

--查询雇员工作为salesman的员工的姓名和工资

select ename,sal from emp where job = 'salesman';

--查询雇员工资大于1600的雇员姓名

select ename from emp where sal > 1600;

注意:写sql语句,先找输出什么字段内容,再找条件是什么。

条件运算符

ffe8ea006ba4443a07682282fd06a03d.png

--查询奖金大于100的雇员工资

select sal from emp where comm > 100;

--多条件的操作

and 与 并且

or 或

--查询工作为salesman并且工资大于1600的雇员信息

条件:job = 'salesman' and sal > 1600

输出信息:雇员信息

select * from emp where job = 'salesman' and sal > 1600;

--执行范围 between and []

--查询工资大于等于1600小于等于3000的雇员信息

select * from emp where sal >= 1600 and sal <= 3000;

select * from emp where sal between 1600 and 3000; -- 效率高

--定义集合关系(IN或NOT IN)

in

not in

--查询雇员编号为7369、7698、7788的雇员信息

select * from emp where empno = 7369 or empno = 7698 or empno = 7788;

select * from emp where empno in(7369,7698,7788);

--查询雇员编号除了7369、7698、7788以外的雇员信息

select * from emp where empno not in(7369,7698,7788);

--模糊查询 like

通配符

“_”通配符 ? 表示任何单个字符

“%”通配符 ? 表示包含零个或多个任意字符

--查询雇员姓名是以s开头的雇员信息

select * from emp where ename like 's%';

--查询雇员姓名中含s字母的雇员信息

select * from emp where ename like '%s%';

--查询雇员姓名是以s结尾的雇员信息

select * from emp where ename like '%s';

--查询雇员姓名是以s开头第三字母为o的雇员信息

select * from emp where ename like 's_o%';

--查询雇员姓名是以%开头的雇员信息

--当模糊查询中出现通配符_和%时,需用反斜杠\\转义

select * from emp where ename like '\\%%';

--处理空值数据 is null 、 is not null

--查询没有奖金的雇员信息

select * from emp where comm != null; --错误的

select * from emp where comm is null; --正确的

--查询有奖金的雇员信息

select * from emp where comm is not null and comm !=0;

--排序操作 order by

--查询雇员信息,工资从小到大排序。 asc 升序

select * from emp order by sal asc; --默认可以不写asc

--查询雇员信息,工资从大到小排序 desc 降序

select * from emp order by sal desc;

--查询雇员信息,工资从小到大排序,奖金从大到小。 ---顺序确定优先级

select * from emp order by sal asc,comm desc;

SQL操作顺序

第一步:执行FROM

第二步:WHERE条件过滤

第三步:执行SELECT投影列

第四步:执行ORDER BY 排序

--查询雇员工作为‘salesman’的雇员信息,并且按照工资多少降序排序。

select * from emp where job = 'salesman' order by sal desc;

聚合函数的分类

在查询分析的SQL中我们经常会对一些数据进行统计查询。

比如统计某个班有多少个学生、全班总分多少、平均分多少、最高分是多少、最低分是多少。要实现这些数据的统计就需要要用到SQL提供的聚合函数。

COUNT:统计行数量

SUM:获取单个列的合计值

AVG:计算某个列的平均值

MAX:计算列的最大值

MIN:计算列的最小值

--count:统计行数量

--统计emp表中有多少个员工

select count(*) from emp; -- * 所有行,包括null都行

select count(empno) from emp; -- 推荐 ,所有行,只是null排除。

--共计emp表中工作为salesman的人数

select count(empno) from emp where job = 'salesman';

--统计有奖金的人数

select count(comm) from emp;

select count(all empno) from emp; -- all排除了null,加不加都没关系

--统计emp表中有多少种工作

select count(distinct job) from emp; --去掉重复,再统计。 -- 重点

--SUM:获取单个列的合计值

--统计所有员工的工资总和

select sum(sal) from emp;

--AVG:计算某个列的平均值

--统计所有员工平均工资

select avg(sal) from emp;

--MAX:计算列的最大值

--查询工资最高的雇员信息

select ename,max(sal) from emp;

--分组操作 group by

--查询emp中有多少个工作岗位

select * from emp group by job;

--查询每个岗位中工资大于1500的员工人数

select job,count(empno) from emp where sal > 1500 group by job;

60d0803e4027676636fb2b2e58e1a681.png

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

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

相关文章

数据结构1-树及常用算法

&#xff08;一&#xff09;将数据库存储结构转化为内存树型结构算法 树节点定义public class TNode {public string id { get; set; }public string pid { get; set; }public string name { get; set; }public string flag { get; set; } }树定义public class Tree {TNode nod…

Error(6,35)java: 程序包 不存在,解决办法

spring boot项目&#xff0c;运行就提示找不到程序包&#xff0c;执行了maven clean install&#xff0c;maven依赖没有标红&#xff0c;但启动就报错 解决办法 检查maven依赖是否成功导入 根据报错信息&#xff0c;检查本地仓库是否有jar&#xff0c;有些jar包不会自动导入&a…

再学 GDI+[91]: TGPImage(11) - 转灰度图像

本例效果图:代码文件:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)CheckBox1: TCheckBox;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);…

GUI阅读字号和触点面积设计 (可用性设计)

今天在博客园开启第一篇&#xff0c;附上我多年工作的研究总结以表诚意。 此文已收入UXPA大会文集&#xff0c;出版于四川大学出版社。 《GUI阅读字号和触点面积设计》 --可用性设计理论研究与实践案例 作者刘玲 前华为UCD中心交付经理 277169188qq.com 摘要: 本文演绎论证了当…

UEditor 插入图片大于2M提示文件大小超出范围解决办法

wordpress使用UEditor-KityFormula 编辑器时候插入图片的时候会提示附件大小超出范围等错误&#xff0c;这是因为UEditor编辑器里面有限制了图片附件大小最大不能超过2m的原因 解决办法要修改 插件 php里面的 config.json 文件 “scrawlMaxSize”: 2048000, /* 上传大小限制&am…

mysql提示太多连接_mysql数据库提示连接太多怎么办

mysql数据库提示连接太多的解决方法&#xff1a;1、登录mysql数据库&#xff0c;查看当前活动的连接线程变量值&#xff1b;2、编辑my.cnf配置文件&#xff0c;添加【[mysqld] port3306】&#xff1b;3、重启mysql服务器。解决方法&#xff1a;查看max_connections进入MySQL&am…

[MySQL FAQ]系列 -- 快速还原MyISAM表索引

作/译者&#xff1a;叶金荣&#xff08;Email: &#xff09;&#xff0c;来源&#xff1a;http://imysql.cn&#xff0c;转载请注明作/译者和出处&#xff0c;并且不能用于商业用途&#xff0c;违者必究。假设有个myisam表&#xff1a;tbl&#xff0c;为了备份方便&#xff0c;…

Android Studio 之 NDK篇

由于工作内容的关系&#xff0c;对于NDK的工作涉及比较广&#xff08;保密性&#xff0c;安全性&#xff09;&#xff0c;所以本章内容讲述一下NDK的基本使用过程。 网上也有很多这样的教程或者描述&#xff0c;但描述的并不完全 开发工具&#xff1a;Android Studio 2.1.2 ND…

避免一个用户多次登录修改版

原来的代码参见这里http://www.qiuhao.com//dispbbs.asp?boardID2&ID6228&page1 今天仔细看了这段代码,发现这段代码大有优化的余地 因为maxSessions 这个值可能会很大,我这里测试环境有3万多个,启动时要浪费半分钟左右 另外sessionId是个随机数,用1到maxSessions其实…

Maven工程 报 Diamond types are not supported at language level ‘5‘

选择file project Structure 1.Project – Project language level 选择8 2. Modules – Language level&#xff1a; 选择8

Ubuntu 16.04安装idea

此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页。 前提&#xff1a;必须正确安装JDK和Tomcat。 下载&#xff1a; https://www.jetbrains.com/idea/download/previous.html 这里可以下载社区版本&#xff0c;也可以下载以往历史版本。 安装过程&#xff1a; 解…

深表歉意

近期有许多读者朋友向我反应&#xff0c;他们在互动出版网、当当网、卓越网等大型IT书店中购买了《网管员必读》系列第二版时&#xff0c;在下订单后常常被告知有些图书缺货无法发货。本来就是想购买全套的&#xff0c;结果无奈地少了几本&#xff08;如《网管员必读——网络应…

python函数应用实例_【Python 第22课】 函数应用示例

前两课稍稍介绍了一下函数&#xff0c;但光说概念还是有些抽象了&#xff0c;今天就来把之前那个小游戏用函数改写一下。我希望有这样一个函数&#xff0c;它比较两个数的大小。如果第一个数小了&#xff0c;就输出“too small”如果第一个数小了&#xff0c;就输出“too big”…

linux内核开发_Linux 内核的代码仓库管理与开发流程简介

作者简介&#xff1a;老 U&#xff0c;致力于开源自由软件推广。原创雄文&#xff1a;由泰晓读者投递的各类社区原创好文。版权声明&#xff1a;本文最先发表于 “泰晓科技” 微信公众号&#xff0c;欢迎转载&#xff0c;转载时请在文章的开头保留本声明。入门 Linux 内核学习时…

Java中八种基本数据类型占用字节空间总结

一、Java四大数据类型分类 1、整型 byte 、short 、int 、long 2、浮点型 float 、 double 3、字符型 char 4、布尔型 boolean 二、八种基本数据类型 三、数据类型详细介绍 整型&#xff08;byte、short、int、long&#xff09; 虽然byte、short、int、long 数据类型…