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 命令 | 掌握基本查询、条件查询、聚合查询的更多相关文章

  1. Hive常用的SQL命令操作

    Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionN ...

  2. 常用的sql命令

    1 mysql创建数据库 create database [database name]; 2 创建表 create table [table name]([first column name] [f ...

  3. python 操作数据库的常用SQL命令

    这俩天在学习PYTHON操作数据库的知识.其实基本SQL命令是与以前学习的MYSQL命令一致,只是增加了一些PYTHON语句. 1,安装pymysql,并导入. import pymysql 2,因为 ...

  4. SQL Server中常用的SQL语句(转):

    SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...

  5. SQL Server中常用的SQL语句

    1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例 ...

  6. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

  7. sql 聚合查询

    如果我们要统计一张表的数据量,例如,想查询students表一共有多少条记录,难道必须用SELECT * FROM students查出来然后再数一数有多少行吗? 这个方法当然可以,但是比较弱智.对于 ...

  8. Django框架08 /聚合查询、分组、F/Q查询、原生sql相关

    Django框架08 /聚合查询.分组.F/Q查询.原生sql相关 目录 Django框架08 /聚合查询.分组.F/Q查询.原生sql相关 1. 聚合查询 2. 分组 3. F查询和Q查询 4. o ...

  9. Elasticsearch使用系列-基本查询和聚合查询+sql插件

    Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...

随机推荐

  1. JUC并发工具包之CyclicBarrier & CountDownLatch的异同

    1.介绍 本文我们将比较一下CyclicBarrier和CountDownLatch并了解两者的相似与不同. 2.两者是什么 当谈到并发,将这两者概念化的去解释两者是做什么的,这其实是一件很有挑战的事 ...

  2. LGOJ3101 [USACO14JAN]滑雪等级Ski Course Rating

    LGOJ3101 [USACO14JAN]滑雪等级Ski Course Rating [问题描述] The cross-country skiing course at the winter Mool ...

  3. P2943 [USACO09MAR]Cleaning Up G

    一句话题意:将一个数列分成若干段,每段的不和谐度为该段内不同数字数量的平方,求不和谐度之和的最小值. 令 \(f_i\) 表示前 \(i\) 个数的最小答案,很容易就能写出暴力转移方程:\(f_i=\ ...

  4. 蓝桥杯——复数幂 (2018JavaAB组第3题)

    18年Java蓝桥杯A组第3题和B组是一样的. 第三题往往比较难. 复数幂 (18JavaAB3) (A.B两卷第三题一样) 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. ...

  5. Kafka入门之broker-消息设计

    消息设计 1.消息格式 Kafka的实现方式本质上是使用java NIO的ByteBuffer来保存消息,同时依赖文件系统提供的页缓存机制,而非依靠java的堆缓存. 2.版本变迁 0.11.0.0版 ...

  6. IPSec传输模式/隧道模式下ESP报文的装包与拆包过程

    IPSec协议:IPsec将IP数据包的内容先加密再传输,即便中途被截获,由于缺乏解密数据包所必要的密钥,攻击者也无法获取里面的内容. 传输模式和隧道模式:IPsec对数据进行加密的方式有两种:传输模 ...

  7. 使用github actions 完成一些自动化工作

    github actions 是什么? github actions是github的持续集成及自动化工作流服务,使用起来都比较方便.大部分github actions都可以在https://githu ...

  8. JVM(五)-垃圾收集器入门

    概述: 大家都知道java相较于c.c++而言最大的优点就是JVM会帮助程序员去回收垃圾,实现对内存的自动化管理.那为什么程序员还需要去了解垃圾回收和内存分配?答案很简单,当需要排查各种内存溢内存泄漏 ...

  9. 老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点

    一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种 ...

  10. 第二十七章、containers容器类部件QTabWidget选项窗部件详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...