查询语句

select * from 表 where 条件 [inner/left/right join 表1 on 条件] group by 列名 having 组 order by 列名 limit 开始偏移量,偏移长度(开始偏移量从0开始)

别名

select 字段 as 别名 from 表

where后的条件

select * from 表 where 条件   ;   -》基础语法

MySQL运算符

操作符 说明
= 等于
<>或者 != 不等于
< 小于/(数字或者日期的比较)
> 大于/(大于)
>= 大于等于
<= 小于等于

MySQL逻辑运算符

操作符 描述
and
or 或者
not

MySQL关键字说明

between:条件查询

[not] between 条件1 and 条件2    =》   包含等于between cast('2013-01-01' as date) and cast('2018-05-06' as date)
cast() :类型转换函数

like:模糊查询

经常和通配符一起使用
%:任意字符长度
-:一个字符长度
\:转义字符

基础用法

select * from 表 where 字段 like '%like%'

in : 适合分类

select * from 表 where 字段 in (‘开始位置’,‘结束位置’)

find_in_set():第一个参数,要查找的字符串,第二个参数字段名

group by分组,也可以使用聚合函数

在筛选的基础上进行分类

select * from 表 where 条件 group by 字段1,字段2【分组条件】实例
select fid,sum(nums) as nums from 表 group by fid;
(as 后可以跟中文名)

having:对分组后的数据进行过滤,使用聚合函数

select fid,sum(nums) as nums from 表 group by fid having nums > 100;

聚合函数

avg():计算平均值
count():计数
instr():返回子字符串中第一次出现的位置
sum():一组值的和
min():最小值
max():最大值

order by :排序

按照表数据默认位置进行排序,默认升序
可以指定多列排序,后排序在前排序的基础上【前排序有相同的值】进行排序
如果是汉字,则根据转换后的十六进制码的顺序排序,转换函数(hex(转换内容))

select 列名 from 表 order by 列1 [asc/desc],列2[asc/desc]

按照表达式排序

select id,pre*num as tos from 表 order by tos

自定义排序

select * from 表 order by field(gname,'字段值1','字段值2',。。。)

limit:取多少行

情况一

select * from 表 limit '开始偏移量,偏移长度'

情况二(前几个)

select * from 表 limit 数量
取前几条

SQL语句的执行顺序

from - join - on - where - group by - avg/sum… - having - select - distinct - order by

查询时间

不带时分秒

select current_date

带时分秒

select sysdate()/NOW()
date_format(logs.time,'%Y-%m-%d') as time(别名)

关联查询

表与表之间有关系,通过关系去查

select * from 表1 [inner/left/right/cross] join on 表2 on 条件
inner:交集
left:以左边的为主
right:以右边的为主
cross:交叉链接(笛卡儿积)

联合查询

把多个select语句查询的结果合并起来
列名为第一个查询语句的列名
默认去除重复项,all则不会去掉
也可以limit,order by等

select 列 from 表 union [all] select 列2 from 表

子查询

标量子查询

返回单一值的标量,最简单形式

select * from 表  where 字段=(select 字段 from 表 where 条件 order by ziduan desc limi 1)

列子查询

返回的结果集是N行1列

select * from 表 where 字段 in (select 字段 from 表 where 条件)

any/some

select * from 表 where 字段 < any(2,3)
小于最大值(不小于/大于其中的任意数据值)

all

select * from 表 where  字段 < all(2,3)
不大于/小于其中的全部数据,最值

行子查询

返回的结果是1行N列

select * from 表 where (列名1,列名2, .... ) in  /=/...(条件)

表子查询

返回的结果集是N行N列

select * from logs where phone in (select phone from stu where classid i (select id from classes where fid in (...)))

数据库学习--DQL(数据库查询语言)相关推荐

  1. oracle临时表经常被锁_数据库学习——Oracle 数据库了解与使用

    一. 数据库相关概念 1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新.删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度.与 ...

  2. h2数据库学习------h2数据库介绍

    介绍 H2是一款内存数据库,适合我们在开发阶段.学习阶段调试代码使用,并不适用于生产阶段,可以满足我们学习与调试代码的需求. H2 数据库是一个用 Java 开发的嵌入式(内存级别)数据库,它本身只是 ...

  3. 数据库学习-DQL(基础)

    1.DQL-介绍 2.DQL-语法 3.DQL-基本查询 4.DQL-条件查询         4.DQL-聚合函数 5.DQL-分组查询 6.DQL-排序查询 7.DQL-分页查询 8.DQL-执行 ...

  4. 【数据库学习】——数据库可视化--Navicat下载安装连接教程

    目录 进入网站 下载可视化软件 安装 双击桌面图标,选择试用 连接数据库 查看数据库中的表,如下所示 常用数据库有: MySQL.sqlite等 进入网站 Navicat | 产品https://ww ...

  5. DB2数据库学习之数据库备份还原

    一.数据库离线(脱机)备份 1.cd /db2_backup 切换到存放备份文件的目录,如果没有要新建 2.db2 list applications for db dbName(数据库名) 确保没人 ...

  6. linux系统中mysql表中能添加中文_数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)...

    数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...

  7. h2数据库学习----h2数据库基本使用

    依赖 <dependency><groupId>org.glassfish.hk2</groupId><artifactId>hk2</artif ...

  8. 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

    目录 1.sqlite数据库介绍 1)常见的数据库操作 2)数据操作常见步骤 2.向数据表中增加数据(insert into) 1)向数据表中添加一条记录 2)向数据表中一次性添加多条记录 ​ 3.修 ...

  9. 数据库DQL数据查询语言

    文章目录 DQL数据查询语言 1.基础查询:SELECT子句和FROM子句 1.1 语法: 2. WHERE子句 2.1 使用AND"与"和OR"或"来连接多个 ...

最新文章

  1. 高并发场景下数据库的常见问题及解决方案
  2. Linux7-常用文件管理命令及系统变量基础
  3. php bc函数库,PHP高精确度运算BC函数库实例详解
  4. 图解classloader加载class的流程及自定义ClassLoader
  5. C++ VS C# 结构体和对象的细微区别
  6. java上机面试题 039_深入 Java 虚拟机之面试总结篇
  7. Java集合(二):List列表
  8. 通过UserAgent判断智能设备(Android,IOS)
  9. accept 阻塞_TCP网络编程中connect()、listen()和accept()三者之间的关系
  10. java protobuf extend_如何使用protobuf extend和编写protobuf插件
  11. springboot2 war页面放在那_Spring Boot2版的权限管理系统
  12. 2021.4.18高一模拟赛
  13. What?!“天才黑客”竟是谣言,带你揭露阿里云守护神的秘密
  14. 仿百思不得其姐项目开发(粗略笔记,后期规范排版和更新)
  15. 数字人事系统 java_市国税局“数字人事”信息系统正式上线
  16. 85寸左右电视怎么选 2023年85寸高性价比电视推荐榜单
  17. hasnext() java_关于Java:为什么HasNeXT()false,但hasNextLine() 是真的?
  18. 中科院,量子计算机,中科院传来喜讯,中国量子技术领先世界,美:中国学者都不睡觉吗...
  19. 15.2数据库(2):MySQL基本增删改查
  20. CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)

热门文章

  1. 使用XmlWriter写XML文件
  2. 赢利定位是网站建设前提
  3. VB6.0动态加载ActiveX控件漫谈[转]
  4. 华为交换机 consolep密码和vty密码配置telnet,ssh
  5. win7怎么清除卸载Ghost启动项的残留
  6. FireFox的插件
  7. python中gensim内没有summarization的问题
  8. 运用js解决java selenium元素定位问题
  9. Abp vNext 自定义 Ef Core 仓储引发异常
  10. 【笔记】Java 信任所有SSL证书(解决PKIX path building failed问题)