软件测试最常用的 SQL 命令 | 掌握基本查询、条件查询、聚合查询
1、DML核心CRUD增删改查
缩写全称和对应 SQL:
* DML 数据操纵语言:Data Manipulation Language
* Create 增加:insert
* Retrieve 查询:select
* Update 更新:update
* Delete 删除:delete
2、SQL基本查询
2.1 常用SQL总结
* 基本查询:select * from table_name
* 字段查询:select fileds from table_name
* 条件查询:select * from table_name where a=1
* 排序:select * from table_name order by b desc
* 分页:select * from table_name order limit 10 offset 0
* 去重:select distinct fileds from table_name
2.2 实操演示
现在有这样一个公司部门人员各个信息的数据库,包含了如下几个表:

departments 部门表字段:

dept_emp 雇员部门表字段:

dept_manager领导部门表字段:

employees雇员表字段:

salaries薪资表字段:

titles岗位表字段:

- 基本查询-查询departments表的所有数据
- select * from departments;

- 字段查询-查询employees表里所有的雇佣日期hire_date
- select hire_date from employees;

- 条件查询-查询employees表里所有男性员工M
- select * from employees where gender=‘M’;

- 排序-查询departments表里的所有部门并按部门序号进行从小到大排序展示
- select * from departments order by dept_no;

- 若是想要按部门序号从大到小进行排序的话就可以使用DESC:
- select * from departments order by dept_no desc;

- 分页-将departments表按部门序号进行从小到大排序后取前4个
- select * from departments order by dept_no limit 4;

- 再取偏移量offset为3后的前4个
- select * from departments order by dept_no limit 4 offset 3;

去重-现在想知道titles表中的岗位头衔有多少种,就需要对title进行去重处理

select distinct title from titles;

3、其他SQL条件查询Where
基本条件查询在上述已经说明:
select * from table_name where a=1
其余条件查询SQL:
* and or not
* 相等: =
* 数字比较:等于= 大于> 小于< 不等<>
* LIKE通配:% _
* BETWEEN AND
* IN
实操演示:
- LIKE通配-现在要取出employees里所有名字为C开头的人
- select * from employees where first_name like ‘C%’;

再取employees里所有名字为C开头,第3个字母为y的人
select * from employees where first_name like ‘C_y%’;

- BETWEEN AND-查询employees中字母顺序显示名字在“Anneke”(包括)和“Chirstian”(包括)的人
- select * from employees where first_name between ‘Anneke’ and ‘Chirstian’;

- IN-现在,要从employees表中选取姓氏为 ‘Simmel’和’Peir’ 的人
- select * from employees where last_name in (‘Simmel’,‘Peir’);

- IN-现在,要从employees表中选取姓氏为 ‘Simmel’和’Peir’ 的人
- select * from employees where last_name in (‘Simmel’,‘Peir’);

4、聚合查询
4.1 常用聚合查询SQL
* GROUP BY、 HAVING
* COUNT,MAX,MIN,SUM,AVG
* select count(gender),gender from employees group by gender;
* select count(gender),gender from employees group by gender having gender='F';
4.2 实操演示
GROUP BY、SUM-现取salaries表中各个员工emp_no的薪资总和

select emp_no,sum(salary) from salaries group by emp_no;

- HAVING-现在接着上一步,取员工总薪资大于1000000的员工
- select emp_no,sum(salary) from salaries group by emp_no having
sum(salary)>1000000;

- COUNT、AVG-取salaries表中薪资排名前100名的平均薪资(需要利用子查询)
- select avg(salary) from (select salary from salaries order by salary
desc limit 100) as s;

好了,闲扯这么多,关注我,受益你。
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取软件测试资料以及群内测试大牛解惑!
测试工程师职业发展路线图
功能测试 —接口测试—自动化测试 —测试开发—测试架构师
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
资源不错就给个推荐吧~
软件测试最常用的 SQL 命令 | 掌握基本查询、条件查询、聚合查询的更多相关文章
- Hive常用的SQL命令操作
Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionN ...
- 常用的sql命令
1 mysql创建数据库 create database [database name]; 2 创建表 create table [table name]([first column name] [f ...
- python 操作数据库的常用SQL命令
这俩天在学习PYTHON操作数据库的知识.其实基本SQL命令是与以前学习的MYSQL命令一致,只是增加了一些PYTHON语句. 1,安装pymysql,并导入. import pymysql 2,因为 ...
- SQL Server中常用的SQL语句(转):
SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...
- SQL Server中常用的SQL语句
1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例 ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- sql 聚合查询
如果我们要统计一张表的数据量,例如,想查询students表一共有多少条记录,难道必须用SELECT * FROM students查出来然后再数一数有多少行吗? 这个方法当然可以,但是比较弱智.对于 ...
- Django框架08 /聚合查询、分组、F/Q查询、原生sql相关
Django框架08 /聚合查询.分组.F/Q查询.原生sql相关 目录 Django框架08 /聚合查询.分组.F/Q查询.原生sql相关 1. 聚合查询 2. 分组 3. F查询和Q查询 4. o ...
- Elasticsearch使用系列-基本查询和聚合查询+sql插件
Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...
随机推荐
- Jmeter(二十七) - 从入门到精通 - Jmeter Http协议录制脚本(详解教程)
1.简介 LoadRunner的录制功能让性能测试脚本编写对于不懂代码的人变成了一件容易上手的事,但是由于LoadRunner收费高昂,庞大,一般企业很少用,除非必须使用.Jmeter作为性能测试中的 ...
- [sql 注入] insert 报错注入与延时盲注
insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+--------- ...
- 3dmax利用静止静态对象功能,制作精准击碎效果
一般情况下,当我们在3D建模中使用RayFire破碎插件来制作一些精准击碎效果时,需要将物体的击中部分定义为休眠对象,将其他未击中的部分定义为静态对象,以实现击中部分出现碎片的效果.但这种方式必须精准 ...
- Guitar Pro使用技巧之乐段回放练习
Guitar Pro中的"回放"功能是我们在吉他练习中非常常用的一项功能.我们在吉他练习中碰到某一乐段比较练习比较困难时,我们就可以用鼠标在Guitar Pro上选中该乐段,然后进 ...
- 总结MathType中输入小于号的方法
作为一款专业的公式编辑软件,MathType可谓是非常强大,先不说其编辑公式是多么的方便.迅速,但就打开软件界面,看到不可估算的数学符号有那么多,你就会感叹它的强大,竟然能把绝大部分的数学符号都汇聚于 ...
- Java线程的死锁和活锁
目录 1.概览 2.死锁 2.1.什么是死锁 2.2 死锁举例 2.3 避免死锁 3.活锁 3.1 什么是活锁 3.2 活锁举例 3.3 避免活锁 1.概览 当多线程帮助我们提高应用性能的同时,它同时 ...
- 无效的HTTP_主机头Invalid HTTP_HOST header: '192.168.56.100:8888'. You may need to add '192.168.56.100' to ALLOWED_HOSTS.
Invalid HTTP_HOST header: '192.168.56.100:8888'. You may need to add '192.168.56.100' to ALLOWED_HOS ...
- Java基础教程——List(列表)
集合概述 Java中的集合,指一系列存储数据的接口和类,可以解决复杂的数据存储问题. 导包:import java.util.*; 简化的集合框架图如下: List·列表 ArrayList List ...
- Java基础教程——RunTime类
RunTime类 java.lang.RunTime类代表Java程序的运行时环境. 可以进行垃圾回收(gc()),可以进行系统资源清理(runFinalization()): 可以加载文件(load ...
- python2.7,python3.6,python3.8多版本windows10安装,pip共存
1.官网下载安装包,建议安装32位,自动兼容X64 x86是32位,x86-64是64位. 可以通过下面3种途径获取python: web-based installer 是需要通过联网完成安装的 e ...