MySQL的单表查询
单表查询
单表查询语法:
select distinct 字段1,字段2... from 表名
where 条件
group by field
having筛选
order by
关键字执行的优先级:
- 1.找到表:from
- 2.拿着where指定的约束条件,去文件/表中取出一条条记录
- 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组
- 4.执行select(去重)
- 5.将分组的结果进行having过滤
- 6.将结果按条件排序:order by
- 7.限制结果的显示条数
简单查询:
company.employee
员工id id int
姓名 emp_name varchar
性别 sex enum
年龄 age int
入职日期 hire_date date
岗位 post varchar
职位描述 post_comment varchar
薪水 salary double
办公室 office int
部门编号 depart_id int
# 创建表
create table employee(
id int not null unique auto_increment,
emp_name varchar(20) not null,
sex enum('male','female') not null default 'male',
age int(3) unsigned not null default 28,
hire_date date not null,
post varchar(50),
post_comment varchar(100),
salary double(15,2),
office int,
depart_id int
); # 查看表结构
mysql> desc employee;
+--------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| emp_name | varchar(20) | NO | | NULL | |
| sex | enum('male','female') | NO | | male | |
| age | int(3) unsigned | NO | | 28 | |
| hire_date | date | NO | | NULL | |
| post | varchar(50) | YES | | NULL | |
| post_comment | varchar(100) | YES | | NULL | |
| salary | double(15,2) | YES | | NULL | |
| office | int(11) | YES | | NULL | |
| depart_id | int(11) | YES | | NULL | |
+--------------+-----------------------+------+-----+---------+----------------+
10 rows in set (0.09 sec) #插入记录
#三个部门:教学,销售,运营
insert into employee(emp_name,sex,age,hire_date,post,salary,office,depart_id) values
('彭哈哈','male',18,'','教学',7300.33,401,1),
('赵晓明','male',78,'','教学',1000000.31,401,1),
('爱祖国','male',81,'','教学',8300,401,1),
('延阻聚','male',73,'','教学',3500,401,1),
('陈继承','male',28,'','教学',2100,401,1),
('李小荷','female',18,'','教学',9000,401,1),
('赵晓明','male',18,'','教学',30000,401,1),
('高富帅','male',48,'','教学',10000,401,1), ('菟丝子','female',48,'','销售',3000.13,402,2),
('张晓敏','female',38,'','销售',2000.35,402,2),
('冯小刚','female',18,'','销售',1000.37,402,2),
('老小月','female',18,'','销售',3000.29,402,2),
('格格','female',28,'','销售',4000.33,402,2), ('彭消息','male',28,'','运营',10000.13,403,3),
('张国','male',18,'','运营',20000,403,3),
('小路小','female',18,'','运营',19000,403,3),
('罗超','male',18,'','运营',18000,403,3),
('张罗好','female',18,'','运营',17000,403,3);
建表
只查看某张表指定的字段:
select 字段1,字段2,字段3,字段n from 表名;
mysql> select id, emp_name, sex, age from employee; #查看员工姓名性别年龄
+----+-----------+--------+-----+
| id | emp_name | sex | age |
+----+-----------+--------+-----+
| 19 | 彭哈哈 | male | 18 |
| 20 | 彭哈哈 | male | 18 |
| 21 | 赵晓明 | male | 78 |
| 22 | 爱祖国 | male | 81 |
| 23 | 延阻聚 | male | 73 |
| 24 | 陈继承 | male | 28 |
| 25 | 李小荷 | female | 18 |
| 26 | 赵晓明 | male | 18 |
| 27 | 高富帅 | male | 48 |
| 28 | 菟丝子 | female | 48 |
| 29 | 张晓敏 | female | 38 |
| 30 | 冯小刚 | female | 18 |
| 31 | 老小月 | female | 18 |
| 32 | 格格 | female | 28 |
| 33 | 彭消息 | male | 28 |
| 34 | 张国 | male | 18 |
| 35 | 小路小 | female | 18 |
| 36 | 罗超 | male | 18 |
| 37 | 张罗好 | female | 18 |
+----+-----------+--------+-----+
19 rows in set (0.00 sec)
只查看指定的字段
查看整张表:
select * from 表名;
mysql> select * from employee; # 查看整张表
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| 19 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 20 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 21 | 赵晓明 | male | 78 | 2015-03-02 | 教学 | NULL | 1000000.31 | 401 | 1 |
| 22 | 爱祖国 | male | 81 | 2013-03-05 | 教学 | NULL | 8300.00 | 401 | 1 |
| 23 | 延阻聚 | male | 73 | 2014-07-01 | 教学 | NULL | 3500.00 | 401 | 1 |
| 24 | 陈继承 | male | 28 | 2012-11-01 | 教学 | NULL | 2100.00 | 401 | 1 |
| 25 | 李小荷 | female | 18 | 2011-02-11 | 教学 | NULL | 9000.00 | 401 | 1 |
| 26 | 赵晓明 | male | 18 | 1900-03-01 | 教学 | NULL | 30000.00 | 401 | 1 |
| 27 | 高富帅 | male | 48 | 2010-11-11 | 教学 | NULL | 10000.00 | 401 | 1 |
| 28 | 菟丝子 | female | 48 | 2015-03-11 | 销售 | NULL | 3000.13 | 402 | 2 |
| 29 | 张晓敏 | female | 38 | 2010-11-01 | 销售 | NULL | 2000.35 | 402 | 2 |
| 30 | 冯小刚 | female | 18 | 2011-03-12 | 销售 | NULL | 1000.37 | 402 | 2 |
| 31 | 老小月 | female | 18 | 2016-05-13 | 销售 | NULL | 3000.29 | 402 | 2 |
| 32 | 格格 | female | 28 | 2017-01-27 | 销售 | NULL | 4000.33 | 402 | 2 |
| 33 | 彭消息 | male | 28 | 2016-03-11 | 运营 | NULL | 10000.13 | 403 | 3 |
| 34 | 张国 | male | 18 | 1997-03-12 | 运营 | NULL | 20000.00 | 403 | 3 |
| 35 | 小路小 | female | 18 | 2013-03-11 | 运营 | NULL | 19000.00 | 403 | 3 |
| 36 | 罗超 | male | 18 | 2015-04-11 | 运营 | NULL | 18000.00 | 403 | 3 |
| 37 | 张罗好 | female | 18 | 2014-05-12 | 运营 | NULL | 17000.00 | 403 | 3 |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
19 rows in set (0.00 sec)
查看整张表
避免重复distinct:
select distinct post from 表名;
去重功能将重复的去掉只留一个显示
mysql> select distinct post from employee; #查看部门
+--------+
| post |
+--------+
| 教学 |
| 销售 |
| 运营 |
+--------+
distinct避免重复
四则运算查询:
需求:查看所有员工的年薪,薪资乘于12就等于年薪
mysql> select emp_name, salary * 12 FROM employee; #工资乘于12
+-----------+-------------+
| emp_name | salary * 12 |
+-----------+-------------+
| 彭哈哈 | 87603.96 |
| 彭哈哈 | 87603.96 |
| 赵晓明 | 12000003.72 |
| 爱祖国 | 99600.00 |
| 延阻聚 | 42000.00 |
| 陈继承 | 25200.00 |
| 李小荷 | 108000.00 |
| 赵晓明 | 360000.00 |
| 高富帅 | 120000.00 |
| 菟丝子 | 36001.56 |
| 张晓敏 | 24004.20 |
| 冯小刚 | 12004.44 |
| 老小月 | 36003.48 |
| 格格 | 48003.96 |
| 彭消息 | 120001.56 |
| 张国 | 240000.00 |
| 小路小 | 228000.00 |
| 罗超 | 216000.00 |
| 张罗好 | 204000.00 |
+-----------+-------------+
19 rows in set (0.00 sec)
四则运算乘法
需求:查看所有员工的年薪,薪资乘于12就等于年薪并且把字段salary改成Annual_salary
mysql> SELECT emp_name, salary*12 AS Annual_salary FROM employee;
+-----------+---------------+
| emp_name | Annual_salary |
+-----------+---------------+
| 彭哈哈 | 87603.96 |
| 彭哈哈 | 87603.96 |
| 赵晓明 | 12000003.72 |
| 爱祖国 | 99600.00 |
| 延阻聚 | 42000.00 |
| 陈继承 | 25200.00 |
| 李小荷 | 108000.00 |
| 赵晓明 | 360000.00 |
| 高富帅 | 120000.00 |
| 菟丝子 | 36001.56 |
| 张晓敏 | 24004.20 |
| 冯小刚 | 12004.44 |
| 老小月 | 36003.48 |
| 格格 | 48003.96 |
| 彭消息 | 120001.56 |
| 张国 | 240000.00 |
| 小路小 | 228000.00 |
| 罗超 | 216000.00 |
| 张罗好 | 204000.00 |
+-----------+---------------+
19 rows in set (0.06 sec)
乘法加改字段
定义格式显示:
concat()函数用于连接字符串
select concat('字符串1',字段,'字符串',字段) from 表名;
mysql> select concat('姓名:',emp_name,'年薪',salary*12) from employee;
+-------------------------------------------------+
| concat('姓名:',emp_name,'年薪',salary*12) |
+-------------------------------------------------+
| 姓名:彭哈哈年薪87603.96 |
| 姓名:彭哈哈年薪87603.96 |
| 姓名:赵晓明年薪12000003.72 |
| 姓名:爱祖国年薪99600.00 |
| 姓名:延阻聚年薪42000.00 |
| 姓名:陈继承年薪25200.00 |
| 姓名:李小荷年薪108000.00 |
| 姓名:赵晓明年薪360000.00 |
| 姓名:高富帅年薪120000.00 |
| 姓名:菟丝子年薪36001.56 |
| 姓名:张晓敏年薪24004.20 |
| 姓名:冯小刚年薪12004.44 |
| 姓名:老小月年薪36003.48 |
| 姓名:格格年薪48003.96 |
| 姓名:彭消息年薪120001.56 |
| 姓名:张国年薪240000.00 |
| 姓名:小路小年薪228000.00 |
| 姓名:罗超年薪216000.00 |
| 姓名:张罗好年薪204000.00 |
+-------------------------------------------------+
19 rows in set (0.02 sec)
concat()字符串连接输出
concat_ws()第一个参数为分隔符
需求:查看每个员工的年薪,格式为:姓名:年薪
mysql> select concat_ws(':', emp_name, salary * 12) AS Annual_salary from employee; #第一个数为分隔符
+-----------------------+
| Annual_salary |
+-----------------------+
| 彭哈哈:87603.96 |
| 彭哈哈:87603.96 |
| 赵晓明:12000003.72 |
| 爱祖国:99600.00 |
| 延阻聚:42000.00 |
| 陈继承:25200.00 |
| 李小荷:108000.00 |
| 赵晓明:360000.00 |
| 高富帅:120000.00 |
| 菟丝子:36001.56 |
| 张晓敏:24004.20 |
| 冯小刚:12004.44 |
| 老小月:36003.48 |
| 格格:48003.96 |
| 彭消息:120001.56 |
| 张国:240000.00 |
| 小路小:228000.00 |
| 罗超:216000.00 |
| 张罗好:204000.00 |
+-----------------------+
19 rows in set (0.00 sec)
concat_ws
where约束:
where字句中可以使用:
- 1. 比较运算符:> < >= <= <> !=
- 2. between 80 and 100 值在80到100之间
- 3. in(80,90,100) 值是80或90或100
- 4. like 'e%'
- 通配符可以是%或_,
- %表示任意多字符
- _表示一个字符
- 5. 逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not #与或非
条件查询:
select 字段 from 表名
where 字段 = ...;
需求:查询员工表工资等于20000的
select emp_name , salary from employee where salary = 20000;
mysql> select emp_name , salary from employee where salary = 20000;
+----------+----------+
| emp_name | salary |
+----------+----------+
| 张国 | 20000.00 |
+----------+----------+
1 row in set (0.00 sec)
单条件查询
多条件查询:
需求:查询教学部工资大于10000的
SELECT emp_name,salary FROM employee
WHERE post='teacher' AND salary>10000;
mysql> SELECT emp_name,salary FROM employee
-> WHERE post='教学' AND salary>10000;
+-----------+------------+
| emp_name | salary |
+-----------+------------+
| 赵晓明 | 1000000.31 |
| 赵晓明 | 30000.00 |
+-----------+------------+
2 rows in set (0.00 sec)
多条件查询
关键字between and查询:
需求:查询员工薪资15000至20000的人
ysql> select emp_name,salary from employee
-> where salary between 15000 and 20000;
+-----------+----------+
| emp_name | salary |
+-----------+----------+
| 张国 | 20000.00 |
| 小路小 | 19000.00 |
| 罗超 | 18000.00 |
| 张罗好 | 17000.00 |
+-----------+----------+
4 rows in set (0.00 sec)
between and
关键字is null(判断某个字段是否为null不能用=号,需要用is)
mysql>SELECT emp_name,post_comment FROM employee
-> WHERE post_comment IS NULL;
+-----------+--------------+
| emp_name | post_comment |
+-----------+--------------+
| 彭哈哈 | NULL |
| 彭哈哈 | NULL |
| 赵晓明 | NULL |
| 爱祖国 | NULL |
| 延阻聚 | NULL |
| 陈继承 | NULL |
| 李小荷 | NULL |
| 赵晓明 | NULL |
| 高富帅 | NULL |
| 菟丝子 | NULL |
| 张晓敏 | NULL |
| 冯小刚 | NULL |
| 老小月 | NULL |
| 格格 | NULL |
| 彭消息 | NULL |
| 张国 | NULL |
| 小路小 | NULL |
| 罗超 | NULL |
| 张罗好 | NULL |
+-----------+--------------+
19 rows in set (0.00 sec)
is null
关键字in集合查询:
#查询工资为3000或3500,4000或9000 mysql>SELECT emp_name,salary FROM employee
->WHERE salary=3000 OR salary=3500 OR salary=4000 OR salary=9000;
+-----------+---------+
| emp_name | salary |
+-----------+---------+
| 延阻聚 | 3500.00 |
| 李小荷 | 9000.00 |
+-----------+---------+
2 rows in set (0.00 sec) mysql>SELECT emp_name,salary FROM employee
->WHERE salary IN (3000,3500,4000,9000) ;
+-----------+---------+
| emp_name | salary |
+-----------+---------+
| 延阻聚 | 3500.00 |
| 李小荷 | 9000.00 |
+-----------+---------+
2 rows in set (0.03 sec) mysql> SELECT emp_name,salary FROM employee -> WHERE salary NOT IN (3000,3500,4000,9000) ; #not不寻找某某或。。。 +-----------+------------+ | emp_name | salary | +-----------+------------+ | 彭哈哈 | 7300.33 | | 彭哈哈 | 7300.33 | | 赵晓明 | 1000000.31 | | 爱祖国 | 8300.00 | | 陈继承 | 2100.00 | | 赵晓明 | 30000.00 | | 高富帅 | 10000.00 | | 菟丝子 | 3000.13 | | 张晓敏 | 2000.35 | | 冯小刚 | 1000.37 | | 老小月 | 3000.29 | | 格格 | 4000.33 | | 彭消息 | 10000.13 | | 张国 | 20000.00 | | 小路小 | 19000.00 | | 罗超 | 18000.00 | | 张罗好 | 17000.00 | +-----------+------------+ 17 rows in set (0.00 sec)
集合查询in
关键字like模糊查询:
通配符'%'表示任意长度的任意内容
mysql>SELECT * FROM employee
->WHERE emp_name LIKE '张%'; #以张开头后面不限都能查询出来
+----+-----------+--------+-----+------------+--------+--------------+----------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+--------+-----+------------+--------+--------------+----------+--------+-----------+
| 29 | 张晓敏 | female | 38 | 2010-11-01 | 销售 | NULL | 2000.35 | 402 | 2 |
| 34 | 张国 | male | 18 | 1997-03-12 | 运营 | NULL | 20000.00 | 403 | 3 |
| 37 | 张罗好 | female | 18 | 2014-05-12 | 运营 | NULL | 17000.00 | 403 | 3 |
+----+-----------+--------+-----+------------+--------+--------------+----------+--------+-----------+
3 rows in set (0.00 sec)
%
通配符:'_'一个字符长度的任意内容
mysql> SELECT * FROM employee
-> WHERE emp_name LIKE '赵__';
+----+-----------+------+-----+------------+--------+--------------+------------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+------+-----+------------+--------+--------------+------------+--------+-----------+
| 21 | 赵晓明 | male | 78 | 2015-03-02 | 教学 | NULL | 1000000.31 | 401 | 1 |
| 26 | 赵晓明 | male | 18 | 1900-03-01 | 教学 | NULL | 30000.00 | 401 | 1 |
+----+-----------+------+-----+------------+--------+--------------+------------+--------+-----------+
2 rows in set (0.05 sec)
-
聚合函数:聚合函数聚合的是组的内容,若是没有分组,则默认一组
- count 求个数
- max 求最大值
- min 求最小值
- sum 求和
- avg 求平均
mysql> select count( * ) from employee; #求雇员表的个数
+------------+
| count( * ) |
+------------+
| 19 |
+------------+
1 row in set (0.00 sec) mysql> select max(salary) from employee; #求雇员表里的薪资最大值
+-------------+
| max(salary) |
+-------------+
| 1000000.31 |
+-------------+
1 row in set (0.00 sec) mysql> select min(salary) from employee; #求雇员表里的薪资最大值
+-------------+
| min(salary) |
+-------------+
| 1000.37 |
+-------------+
1 row in set (0.00 sec) mysql> select sum(salary) from employee; #求雇员表的和
+-------------+
| sum(salary) |
+-------------+
| 1174502.57 |
+-------------+
1 row in set (0.00 sec) mysql> select avg(salary) from employee; #求雇员表的平均值
+--------------+
| avg(salary) |
+--------------+
| 61815.924737 |
+--------------+
1 row in set (0.00 sec)
聚合函数示例
having:过滤语句
#!!!执行优先级从高到低:where > group by > having
#1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
#2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
- 在having条件中可以使用聚合函数,在where中不行
- 适合去筛选符合条件的某一组数据,而不是某一行数据
- 先分组再过滤 : 求平均薪资大于xx的部门,求人数大于xx的性别,求大于xx人的年龄段
- 查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数
- group by post having count(id) < 2;
排序: order by
- 默认是升序 asc
- 降序 desc
- select * from employee order by age, salary desc;
- 优先根据age从小到大排,在age相同的情况下,再根据薪资从大到小排
#升序排序
mysql> select * from employee order by salary;
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| 30 | 冯小刚 | female | 18 | 2011-03-12 | 销售 | NULL | 1000.37 | 402 | 2 |
| 29 | 张晓敏 | female | 38 | 2010-11-01 | 销售 | NULL | 2000.35 | 402 | 2 |
| 24 | 陈继承 | male | 28 | 2012-11-01 | 教学 | NULL | 2100.00 | 401 | 1 |
| 28 | 菟丝子 | female | 48 | 2015-03-11 | 销售 | NULL | 3000.13 | 402 | 2 |
| 31 | 老小月 | female | 18 | 2016-05-13 | 销售 | NULL | 3000.29 | 402 | 2 |
| 23 | 延阻聚 | male | 73 | 2014-07-01 | 教学 | NULL | 3500.00 | 401 | 1 |
| 32 | 格格 | female | 28 | 2017-01-27 | 销售 | NULL | 4000.33 | 402 | 2 |
| 19 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 20 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 22 | 爱祖国 | male | 81 | 2013-03-05 | 教学 | NULL | 8300.00 | 401 | 1 |
| 25 | 李小荷 | female | 18 | 2011-02-11 | 教学 | NULL | 9000.00 | 401 | 1 |
| 27 | 高富帅 | male | 48 | 2010-11-11 | 教学 | NULL | 10000.00 | 401 | 1 |
| 33 | 彭消息 | male | 28 | 2016-03-11 | 运营 | NULL | 10000.13 | 403 | 3 |
| 37 | 张罗好 | female | 18 | 2014-05-12 | 运营 | NULL | 17000.00 | 403 | 3 |
| 36 | 罗超 | male | 18 | 2015-04-11 | 运营 | NULL | 18000.00 | 403 | 3 |
| 35 | 小路小 | female | 18 | 2013-03-11 | 运营 | NULL | 19000.00 | 403 | 3 |
| 34 | 张国 | male | 18 | 1997-03-12 | 运营 | NULL | 20000.00 | 403 | 3 |
| 26 | 赵晓明 | male | 18 | 1900-03-01 | 教学 | NULL | 30000.00 | 401 | 1 |
| 21 | 赵晓明 | male | 78 | 2015-03-02 | 教学 | NULL | 1000000.31 | 401 | 1 |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
19 rows in set (0.00 sec) #倒序排序
mysql> select * from employee order by salary asc;
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| 30 | 冯小刚 | female | 18 | 2011-03-12 | 销售 | NULL | 1000.37 | 402 | 2 |
| 29 | 张晓敏 | female | 38 | 2010-11-01 | 销售 | NULL | 2000.35 | 402 | 2 |
| 24 | 陈继承 | male | 28 | 2012-11-01 | 教学 | NULL | 2100.00 | 401 | 1 |
| 28 | 菟丝子 | female | 48 | 2015-03-11 | 销售 | NULL | 3000.13 | 402 | 2 |
| 31 | 老小月 | female | 18 | 2016-05-13 | 销售 | NULL | 3000.29 | 402 | 2 |
| 23 | 延阻聚 | male | 73 | 2014-07-01 | 教学 | NULL | 3500.00 | 401 | 1 |
| 32 | 格格 | female | 28 | 2017-01-27 | 销售 | NULL | 4000.33 | 402 | 2 |
| 19 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 20 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 22 | 爱祖国 | male | 81 | 2013-03-05 | 教学 | NULL | 8300.00 | 401 | 1 |
| 25 | 李小荷 | female | 18 | 2011-02-11 | 教学 | NULL | 9000.00 | 401 | 1 |
| 27 | 高富帅 | male | 48 | 2010-11-11 | 教学 | NULL | 10000.00 | 401 | 1 |
| 33 | 彭消息 | male | 28 | 2016-03-11 | 运营 | NULL | 10000.13 | 403 | 3 |
| 37 | 张罗好 | female | 18 | 2014-05-12 | 运营 | NULL | 17000.00 | 403 | 3 |
| 36 | 罗超 | male | 18 | 2015-04-11 | 运营 | NULL | 18000.00 | 403 | 3 |
| 35 | 小路小 | female | 18 | 2013-03-11 | 运营 | NULL | 19000.00 | 403 | 3 |
| 34 | 张国 | male | 18 | 1997-03-12 | 运营 | NULL | 20000.00 | 403 | 3 |
| 26 | 赵晓明 | male | 18 | 1900-03-01 | 教学 | NULL | 30000.00 | 401 | 1 |
| 21 | 赵晓明 | male | 78 | 2015-03-02 | 教学 | NULL | 1000000.31 | 401 | 1 |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
19 rows in set (0.00 sec) # 优先根据age从小到大排,在age相同的情况下,再根据薪资从大到小排
mysql> select * from employee order by age, salary desc;
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| id | emp_name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
| 26 | 赵晓明 | male | 18 | 1900-03-01 | 教学 | NULL | 30000.00 | 401 | 1 |
| 34 | 张国 | male | 18 | 1997-03-12 | 运营 | NULL | 20000.00 | 403 | 3 |
| 35 | 小路小 | female | 18 | 2013-03-11 | 运营 | NULL | 19000.00 | 403 | 3 |
| 36 | 罗超 | male | 18 | 2015-04-11 | 运营 | NULL | 18000.00 | 403 | 3 |
| 37 | 张罗好 | female | 18 | 2014-05-12 | 运营 | NULL | 17000.00 | 403 | 3 |
| 25 | 李小荷 | female | 18 | 2011-02-11 | 教学 | NULL | 9000.00 | 401 | 1 |
| 19 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 20 | 彭哈哈 | male | 18 | 2017-03-01 | 教学 | NULL | 7300.33 | 401 | 1 |
| 31 | 老小月 | female | 18 | 2016-05-13 | 销售 | NULL | 3000.29 | 402 | 2 |
| 30 | 冯小刚 | female | 18 | 2011-03-12 | 销售 | NULL | 1000.37 | 402 | 2 |
| 33 | 彭消息 | male | 28 | 2016-03-11 | 运营 | NULL | 10000.13 | 403 | 3 |
| 32 | 格格 | female | 28 | 2017-01-27 | 销售 | NULL | 4000.33 | 402 | 2 |
| 24 | 陈继承 | male | 28 | 2012-11-01 | 教学 | NULL | 2100.00 | 401 | 1 |
| 29 | 张晓敏 | female | 38 | 2010-11-01 | 销售 | NULL | 2000.35 | 402 | 2 |
| 27 | 高富帅 | male | 48 | 2010-11-11 | 教学 | NULL | 10000.00 | 401 | 1 |
| 28 | 菟丝子 | female | 48 | 2015-03-11 | 销售 | NULL | 3000.13 | 402 | 2 |
| 23 | 延阻聚 | male | 73 | 2014-07-01 | 教学 | NULL | 3500.00 | 401 | 1 |
| 21 | 赵晓明 | male | 78 | 2015-03-02 | 教学 | NULL | 1000000.31 | 401 | 1 |
| 22 | 爱祖国 | male | 81 | 2013-03-05 | 教学 | NULL | 8300.00 | 401 | 1 |
+----+-----------+--------+-----+------------+--------+--------------+------------+--------+-----------+
19 rows in set (0.00 sec)
order by排序
MySQL的单表查询的更多相关文章
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- day 38 MySQL之单表查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER ...
- Mysql数据库单表查询
1.单表查询语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法 select * from,这个sel ...
- MySQL之单表查询、多表查询
一.单表查询: 单个表的查询方法及语法顺序需要通过实际例子来熟悉 先将表数据创建下: mysql> create database singe_t1; # 建个数据库singe_t1 Query ...
- MySQL 的单表查询
单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2 ,...FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY filed LIMIT ...
- 四 mysql之单表查询
目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 1. 什么是分组?为什么要分组? 2. ONLY_FULL_GROUP_BY ...
- mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)
单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...
- day037 mysql之单表查询
一.单表查询语法 select distinct 字段1,字段2,... from 库名.表名 where 条件 group by 字段 having 筛选条件 order by 字段 limit 限 ...
随机推荐
- 一夜搞懂 | JVM GC&内存分配
前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 学习导图 一.为什么要学习GC&内存分配? 时代发展到现在,如今的内存动态分配与内存回收技术已经相当成 ...
- python课程体系是怎么样的?
好的python课程体系是怎么样的?Python从1991年走到今天,已经有了28年的历史了,在开发行业来说也是老江湖了,那么python为什么可以在开发行业屹立不倒呢?其实python最吸引程序员的 ...
- Building Applications with Force.com and VisualForce(Dev401)(十三):Implementing Business Processes:Automating Business Processes Part II
ev401-014:Implementing Business Processes:Automating Business Processes Part II Module Agenda1.Multi ...
- redis处理高并发
参考: https://www.cnblogs.com/wanlei/p/10464517.html 关于Redis处理高并发 Redis的高并发和快速原因 1.Redis是基于内存的,内存的读写速度 ...
- Github标星3K+,热榜第三,一网打尽数据科学速查表
这几天,Github上的趋势榜一天一换. 这次一个名为 Data-Science--Cheat-Sheet 的项目突然蹿到了第三名. 仔细一看,确实干货满满.来,让文摘菌推荐一下~ 这个项目本质上是备 ...
- Centos7部署k8s[v1.16]高可用[keepalived]集群
实验目的 一般情况下,k8s集群中只有一台master和多台node,当master故障时,引发的事故后果可想而知. 故本文目的在于体现集群的高可用,即当集群中的一台master宕机后,k8s集群通过 ...
- Python Tkinter Grid布局管理器详解
Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1) ...
- Spring装配Bean的三种方式+导入和混合配置
目录 Spring IoC与bean 基于XML的显式装配 xml配置的基本结构 bean实例的三种创建方式 依赖注入的两种方式 构造器注入方式 setter方法注入方式 利用命名空间简化xml 基于 ...
- 牛客寒假基础集训营 | Day1 J题—u's的影响力(水题)
Day1 J题-u's的影响力 有一天,kotori发现了一个和lovelive相似的游戏:bangdream.令她惊讶的是,这个游戏和lovelive居然是同一个公司出的! kotori经过一段时间 ...
- Linux学习第10天-命令执行顺序控制与管道
学习重点: cut,grep,wc,sort命令的使用 管道的理解 一.顺序执行多条命令 当我们需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换 ...