ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL命令2

2022-03-07 19:04:22  阅读:165  来源: 互联网

标签:count name employees 命令 limit MySQL where select


1.表关联查询

在工作中很多时候,我们需要获取到具体的数据需要关联好几个表,才能够查询获得自己想要的数据,这样就需要几个表关联起来进行查询。

inner join内连接

查询关联字段共同拥有的数据(重点 面试题)

 

 首先创建三个表格

命令:select person.name,person.age,work.company,school.schoolName from person inner join work on person.code=work.code inner join school on work.code=school.code where person.code=1001;连接多个表格

将三个表格中共同拥有的数据code=1001,连接起来

 

 

 

 

 

 

2.limit 加数字:最多查询多少行

select *from employees limit 5,

 

 3.计数

查询表里总数据:select count(*) from 表名;

select count(*) from employees;

select count(1) from employees;

 

 

4.条件过滤

4.1并且(AND)

and 并且的关系,多个条件要同时满足

select * from employees where first_name="Georgi"and last_name="Facello"and hire_date="1986-06-26";

 

 

4.2或者OR

select * from employees where first_name="Georgi"or last_name="admin" limit 10

 

 

4.3包含in

select * from employees where last_name in("Christ","lamba","asdfg")limit 10;

 

 

4.4范围检查(between and)

select * from employees where hire_date between "1986-12-01"and "1986-12-31" -> limit 5;

 

 

4.5否定结果(not)

 

 

4.6匹配任意字符(%)

 

 前后都可以用%代替,进行模糊查找;

 

 

4.7下划线(——)

ka前面任意两个字符串,后面为其他字符串,几个下划线代表几个字符串

select * from employees where first_name like "__ka%"limit 5;

4.8以什么为开头的 " ^"

select * from employees where first_name rlike "^mu" limit 5;

4.9以什么作为结束“$"

select * from employees where first_name rlike "ro$" limit 5;

 

 

4.10使用别名as

将count(1)改为总数

 

 

5.对结果信息排序order by

查询薪资最高的员工信息

select * from salaries order by salary desc limit 10;正序 由高到低排序

select * from salaries order by salary asc limit 10;倒序 由低到高排序(默认倒叙)

 

 

6.聚合函数

查询总数(count) 查询男女的薪水分别的总数

 

 select salary,count(1) as count from salaries group by salary 【order by count desc】 limit 10;

备注解读:将薪水总数按正序排列

 

总和:sum

最大:max

最小:min

平均:avg

  

 

 

 

 

按照年份将员工薪资从高到低正序排列

{select year(from_date) as dateyear,sum(salary) as sumsalary from salaries} group by dateyear order by sumsalary desc limit 10;

备注:查看年份和薪水,将薪水总和按照正序排序

 

 

平均(average)

按照正序查看年份的平均工资

 

 去重distinct

 

 

过滤having

通过having来过滤group by字句的结果信息

找到平均薪资超过100000的员⼯

 

 

 

例:表e和表s通过emp_no内连接起来,查询e表中的first name、last name、gender和s表中的salary ,显示出salary大于40000的十行数据:

 

标签:count,name,employees,命令,limit,MySQL,where,select
来源: https://www.cnblogs.com/lm123123/p/15977145.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有