Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >数据库常见查询语句_数据库检索语句

数据库常见查询语句_数据库检索语句

作者头像
全栈程序员站长
发布于 2022-10-05 00:47:17
发布于 2022-10-05 00:47:17
1.9K0
举报

大家好,又见面了,我是你们的朋友全栈君。

数据库常用查询语句(DQL)

基本查询

select 字段1, 字段2,…from 表名;

例如:select id , name from stu;

条件查询

select 字段1, 字段2,…from 表名 where 字段 关系符号 值 ;

关系符号

< = >= <= != 大于 等于 大于等于 小于等于 不等于

例如:select * from stu id > 2;

and or in(范围内满足in内部条件) not in 相反

例如: select * from stu where id>1 and age <40;

​ select * from stu where id >1 or name =‘张三’;

​ select * from stu where id in(3,4);

between 值1 and 值2 在[值1,值2]之间 包含两边临界值

例如: select * from stu where id between 2 and 4;

模糊查询

select * from 表名 where 字段 like ‘%值%’;

例如: select * from stu where name like ‘陈%’;

注: %的位置不同 表达的意思不同 陈% : 陈某某 ,%陈% : 某陈某,%陈:某某陈

% 匹配任意字符 (%可以是任意长度)_匹配指定长度字符 一个_代表一个长度

排序查询

select * from 表名 order by 字段 排序类型 asc 升序 desc 降序 没写排序类型 默认 升序

例: select * from stu order by id desc ;

聚合函数 多行数据一行返回

count(字段) 计数 计算该列不为空的数据个数

例 :select count(name) from stu;

sum(字段) 求和 计算该列所有数字的和 字符串求和结果为0

例:select sum(age) from stu;

max(字段) 最大值 获取该列最大值

例: select max(age) from stu;

min(字段) 最小值 获取该列最小值

例: select min(age) from stu;

avg(字段) 平均值 不为null的进行平均

例: select avg(age) from stu;

注:聚合函数要放在select 和 from 之间

去重

distinct(列) 一般配合count()一起使用

例;:select count(distinct 字段名) from stu;

分组查询

group by

例:select * from stu group by 字段名

流程控制函数
if(expr1,expr2,expr3)

​ 如果 expr1 为真 则返回expr2, 否则返回expr3

​ is null() 函数 判断为空

​ is null(字段) 如果是null 返回1 不是返回0

例:select id name if(isnull(score)=1,‘缺考’,score)from stu;

case

when 条件 then 执行语句

when 条件 then 执行语句

else 执行语句

end

执行第一个when后的条件,如果为true,执行then后的语句,

如果when后的条件为false,执行第二个when后的条件

如果都为flase 执行else后的语句

多表联查
1 联合查询-合并结果集

union 将两表的查询结果纵向连接(会去重)

union all 纵向拼接会保留全部

2 连接查询

将多个表多行数据相乘(笛卡尔积).

一对一: 在任何一张表添加字段均可

一对多:只能在多的表添加字段

多对多:定义中间表

连接方式:

内连接: select * from 表1 inner join 表2 on 关联条件(过滤条件);

​ 简写: select * from 表1,表2 where 表1.字段名 = 表2.字段名;

注:只会保留完全符合关联条件的数据

外连接: select * from

​ 左外连接: select * from 表1 left [outer] join 表2 on 表1.字段名 = 表2.字段名

​ 注:会保留左表中不符合条件的数据

​ 右外连接: select * from 表1 right [outer] join 表2 on 表1.字段名 = 表2.字段名

​ 注:会保留右表中不符合条件的数据

​ 注:会保留不满足条件的数据

子查询

子查询就是嵌套查询.

一般子查询出现在:

​ from后 : 当做一张表使用

​ where后: 当做条件使用

​ select 后

自连接:

自己连接自己

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月8日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL数据库精选(从入门使用到底层结构)
查询所有数据库: SHOW DATABASES; 查询当前数据库: SELECT DATABASE(); 创建数据库: CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ]; 删除数据库: DROP DATABASE [ IF EXISTS ] 数据库名; 使用数据库: USE 数据库名;
不吃紫菜
2024/01/27
3970
MySQL数据库精选(从入门使用到底层结构)
MySQL基础
SQL:操作关系型数据库的编程语言,定义了一套操作 关系型数据库统一标准,英文:Structured Query Language (SQL)。
roydonGuo
2023/03/08
1.9K0
MySQL基础
MySQL:DQL 数据查询语句盘点
常用的语句关键字有:SELECT、FROM、WHERE、ORDER BY、HAVING、ASC|DESC
栗筝i
2022/12/01
1.6K0
【MySQL学习】基础指令全解:构建你的数据库技能
下面的操作都是在windows 的操作,此时MySQL在Windows下不区分大小写,但在Linux下默认是区分大小写的。 SQL通用语法:
IsLand1314
2024/10/15
1790
【MySQL学习】基础指令全解:构建你的数据库技能
一千行 MySQL 详细学习笔记(值得学习与收藏)
Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) 连接与断开服务器 mysql -h 地址 -P 端口 -u 用户名 -p 密码 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 数据库操作 -- 查看当前数据库 SELECT DATABASE(); -
java思维导图
2019/01/09
2.9K0
MySQL数据库与JDBC编程
表结构删除,表对象不再存在;表的所有数据被删除;该表所有相关的索引、约束也被删除。
小锋学长生活大爆炸
2020/08/13
3.6K0
学会Mysql第三天
1、having 是在 group by 子句之后:可以针对分组数据进行统计筛选。
白胡杨同学
2020/04/16
7350
数据库的查询语句_数据库select from where
这是因为: 1 、 在dos窗口中,默认的编码格式gbk,而mysql服务器软件使用的编码utf8 2、在dos窗口输入一个指令,模糊查询当前mysql数据库中所有带有”character”字符集的变 量全部出来 SHOW VARIABLES LIKE ‘%character%’ ;
全栈程序员站长
2022/10/04
1.4K0
数据库的查询语句_数据库select from where
MySQL多表联合查询
例 2:查询 tb_course 表中的 id 字段和 tb_students_info 表中的 course_id 字段相等的内容
Alone-林
2022/08/20
10.6K0
一千行 MySQL 学习笔记
本文来源:https://shockerli.net/post/1000-line-mysql-note/
Java3y
2019/11/09
8480
Mysql常用查询语句
一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=<
Java架构师历程
2018/09/26
5.2K0
一个小时学会MySQL数据库
该文是对一篇新闻文章的摘要总结。
张果
2018/01/04
4K0
一个小时学会MySQL数据库
一千行MySQL命令
非常不错的总结,强烈建议保存下来,需要的时候看一看。 基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建表规范 SELECT UNION 子查询 连接查询(join) TRUNCATE 备份与还原 视图 事务(transaction) 锁表 触发器 SQL编程 存储过程 用户和权限管理 表维护 杂项 基本操作 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create
统计学家
2019/09/17
2K0
Vc数据库编程基础MySql数据库的表查询功能
  不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有.
IBinary
2019/05/25
9.7K0
23篇大数据系列(三)sql基础知识(史上最全,建议收藏)
蓝桥签约作者、大数据&Python领域优质创作者。维护多个大数据技术群,帮助大学生就业和初级程序员解决工作难题。
不吃西红柿
2022/09/19
2.8K0
23篇大数据系列(三)sql基础知识(史上最全,建议收藏)
基础SQL-DQL语句-条件查询-排序-聚合函数-分组-limit语句
前面我们的查询都是将所有数据都查询出来,但是有时候我们只想获取到满足条件的数据 语法格式:SELECT 字段名 FROM 表名 WHERE 条件;流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回
Devops海洋的渔夫
2022/01/17
3.6K0
基础SQL-DQL语句-条件查询-排序-聚合函数-分组-limit语句
java核心技术第二篇之数据库SQL语法
#查询products表记录 SELECT * FROM products WHERE price > 2000; – 单行注释 /* 多行注释 */ #创建数据库 CREATE DATABASE hei66_day19_db;hei66_day19_db #查看数据库 SHOW DATABASES; #查看某个数据库的定义信息 SHOW CREATE DATABASE hei66_day19_db; #删除数据库 DROP DATABASE hei66_day19_db;
海仔
2019/08/05
1.1K0
【MySQL数据库】多表关系与多表联合查询
格式: constraint <外键名> foreign key 字段名[,字段名2,…] references <主表名> 主键列1 [,主键列2,…]
小小程序员
2022/12/13
3K0
【MySQL数据库】多表关系与多表联合查询
MySQL数据库操作教程
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-02/141092p2.htm
星哥玩云
2022/08/13
4.9K0
mysql学习总结04 — SQL数据操作
mysql 中 SELECT 命令类似于其他编程语言的 print 或 write,可用来显示字符串、数字、数学表达式的结果等
CS逍遥剑仙
2018/06/24
5.2K0
mysql学习总结04 — SQL数据操作
相关推荐
MySQL数据库精选(从入门使用到底层结构)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文