这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一)

DQL语言

1.1简单的单表查询

查询表的通用格式:select [distinct] [*] [列名1,列名] from 表名 where 条件 group by 列名或条件 having 条件筛选过滤 order by 列名或者聚合函数等条件 asc /desc limit 数值m,数值n;

说明:中括号是或者的关系,可以用select distinct ,其中distinct是个关键词,用于限定,关键词 distinct 用于返回唯一不同的值

select distinct 列名 from 表名,表示查询列名中的一列的值,如果出现重复,只出现一次,去重的功能。

select * from 表名 ,表示查询表中所有的列字段

select后面的字段还可以是聚合函数还可以是位运算(mysql中支持位运算):常用的聚合函数:sum ()求和,count()统计数量,avg()求平均值,max()求最大值,min()求最小值;

mysql支持的位运算符
                     运算符                          作用
                       &                         位与
                      |                        位或
                     ^                       位亦或
                    ~                       位取反
                    <<                       位左移
                     >>                        位右移

where 之后的条件有多种限定条件:可以用比较运算符:等于(=),不等于(!=),大于(>),小于(<),不等于(<>),在范围内(in),在...之间 between ...and...,空(is null),非空(is not null)

逻辑运算符:且(可以用and/&&),或(可以用or/||),非(可以用not/!),亦或(xor);

模糊查询匹配:like    其中"_"符号表示匹配单个字符

其中"%"符号表示匹配多个字符(任意个字符包括0个)

正则表达式匹配:regexp或者rlike

别名(Alias)查询:查询后用别名显示的列,用as 别名

group by:分组依据

order by:排序,order by 列名或者条件 排序,分为升序排序asc(ascend),和降序排序desc (descend),默认不写是升序。

having一般跟在group by后边,在进行分组后,进行过滤删选,having后可以用聚合函数(having字句可以让我们筛选成组后的各种数据);

limit用于分页查询,其中m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。(可以理解为跳过m条记录,取n条记录。

1.2子查询

子查询也可以称为嵌套查询,可以将子查询语句查询出的记录或者字段作为主查询的条件或者字段。

1.3多表连接查询

连接查询主要有:内连接、左连接(左外连接)、右连接(右外连接)、全连接(全外连接)

内连接:关键词为 inner join on

sql语句:select  列名(或者聚合函数) from 表1 别名 inner join 表2 别名 on 表1.列名=表2.列名 ;

内连接返回的是两个表都有的数据,相当于数学中集合的交集。

可以用韦恩图来表示

左连接(也称为左外连接):关键词left join on / left outer join on

sql语句:select 列名(或者聚合函数) from 表1 别名 left join 表2 别名 on 表1.列名=表2.列名;

left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。

左(外)连接,左表(即表1)的记录将会全部表示出来,而右表(表2)只显示符合搜索条件的记录。表2中数据不完整的部分显示为null

左外连接,相当于数学中的两个集合的左边的全部加上交集。

绿色部分表示查询结果

右(外)连接: 关键词:right  (outer)join on

sql语句:将左连接中的left替换为right

韦恩图表示结果

绿色部分表示查询结果

mysql中提供了一个G 标志,放到sql语句后,可以将查询的结果竖行显示:

例如:

详细了解联合查询和子查询可以参照博客:MySQL数据高级查询之连接查询、联合查询、子查询

mysql基础知识(二)相关推荐

  1. MySQL工作中的实际用_总结工作中经常用到的mysql基础知识

    总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...

  2. mysql基础知识(一)

    mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...

  3. MySQL基础(二)

    MySQL基础(二) MySQL基础(一) 文章目录 MySQL基础(二) MySQL基础(一) 存储过程与函数 存储过程概述 理解 分类 创建存储过程 语法分析 代码举例 调用存储过程 调用格式 代 ...

  4. MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物

    MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...

  5. 【MySQL基础知识】查询、过滤数据关键字

    MySQL基础知识 一.检索数据 1. SELECT select是使用最广泛的检索数据的语句. 检索要查的表的所有列: select * from (表名称)... 检索要查的表的某一列或多列: s ...

  6. 快速学习mysql_快速学习MySQL基础知识

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...

  7. linux增删查改语句,mysql基础知识之增删查改使用介绍

    mysql基础知识之增删查改使用介绍 本文主要介绍mysql常用的SELECT.INSERT.UPDATE.DELETE语句的使用,数据库的安装这里不做介绍,并且事先已经准备好相关数据. 本文中使用的 ...

  8. 2.MySQL 基础知识

    文章目录 MySQL 基础知识 知识点一 : MySQL命令行常用命令 知识点二 : 持久化 相关概念 知识点三 : 数据库 相关概念 知识点四 : DB 和 DBMS 关系图示 知识点五 : MyS ...

  9. mysql 基础篇(二) 账号、权限管理

    mysql 基础篇(二) 账号.权限管理.备份与还原 建立账号密码: Grant all on test.* to "cj"@"localhost" ident ...

最新文章

  1. python显示行数_在idle中如何显示行号
  2. python 例子生成随机数,读文件
  3. chrome 获取硬件信息_在tinycolinux上安装chrome
  4. Python中比元组更好用的namedtuple
  5. leetcode笔记:Search in Rotated Sorted Array
  6. 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
  7. lstm原始论文_RNN及其改版(LSTM, 双向RNN, seq2seq)总结
  8. 校招刷题---java选择题笔记05
  9. mysql 8.0以上 新版本账号密码策略修改和密码修改
  10. 简述python文件操作_python 文件操作总结
  11. 计算机c盘如何扩容,C盘满了怎么办?电脑C盘扩容图文教程-电脑教程
  12. 谷歌google chrome浏览器Chrome版本太旧无法更新chrome无法更新至最新版本怎么办
  13. Elasticsearch LBS 的简单应用
  14. 基于Java Swing编写的简易运费计算工具
  15. Android:有关下拉菜单导航的学习(供自己参考)
  16. 计算机类基金有哪些2019,2019年度国家自然科学基金最终立项数据,哪些高校表现突出?...
  17. 上海市高校计算机等级(一级)考试成绩查询,上海市高校计算机等级考试(一级).doc...
  18. leetcode 递增的三元子序列
  19. RHEL5使用3322动态域名方法
  20. 实验7-1-9 数字加密(15 分)

热门文章

  1. win11WiFi驱动如何下载 windows11WiFi驱动下载的步骤方法
  2. SimpleDateFormat时间日期格式化,时间日期类使用示例
  3. Sublime 输入中文显示方框问号乱码
  4. linux两个进程相同的地址,在虚拟内存中,两个不同的进程可以具有相同的地址吗?...
  5. linux能记录日志的终端,如何记录Linux终端下的操作日志
  6. 电脑显示器尺寸对照表_三分钟带你了解五花八门的显示器参数,买显示器不在跳坑...
  7. 与或非逻辑 页面展示html,一种实现与非、或非门逻辑的忆阻器电路
  8. 洛谷——P2525 Uim的情人节礼物·其之壱
  9. Druid monitor中SQL监控显示不出数据(已解决)
  10. 微信小程序API之request