数据库-DQL

news2024/12/24 8:43:10

DQL:用来查询数据库表中的记录

关键字:SELECT

语法:

        select:字段列表

        from:表名列表

        where:条件列表

        group by:分组列表

        having:分组后条件列表

        order by:排序字段列表

        limit:分页参数

DQL-基本查询

        查询多个字段:select 字段1,字段2,字段3 from 表名;

        查询所有字段(通配符):select*from 表名;

        设置别名:select 字段1[as 别名1],字段2[as 别名] from 表名;

        去除重复记录:select distinct 字段列表 from 表名;

示例:

select name, entrydate from tb_emp;


select *
from tb_emp;

select name as 姓名, entrydate as 入职日期 from tb_emp;

select distinct job from tb_emp;

DQL-条件查询

        条件查询:select 字段列表 from where 条件列表;

示例:

select *
from tb_emp where name='杨逍';

select *
from tb_emp where id<=5;

select *
from tb_emp where job is null;

select *
from tb_emp where job is not null;

select *from tb_emp where password!=123456;

select *
from tb_emp
where entrydate between '2001-01-01' and '2010-01-01 '
  and gender = 2;

select *
from tb_emp
where job in (2, 3, 4);

select *
from tb_emp
where name like '__';

select *
from tb_emp
where name like '张%';

 DQL-分组查询

介绍:将一列数据作为一个整体,进行纵向计算

语法:select聚合函数(字段列表)from 表名;

        函数:

                count:统计数量

                max:最大值

                min:最小值

                avg:平均值

                sum:  求和

示例:

select count(id)from tb_emp;
select count(0)from tb_emp;
select count(*)from tb_emp;

select min(entrydate)from tb_emp;

select avg(id)from tb_emp;

 注意:null值不参与所有聚合函数运算

            统计数量可以用:count(*)   count(字段)  count(常量)  推荐:count(*)

DQL-分组查询

        select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]

select gender,count(*) from tb_emp group by gender;

select job ,count(*) from tb_emp where entrydate<='2015-01-01' group by job having count(*)>=2;

 where和having区别

        1.执行时机不同:where是分组之前进行过滤,不满足where条件,不参与where条件,不参与分组;而having是分组之后对结果进行过滤

        2.判断条件不同:where不能对聚合函数进行判断,而having可以

 DQL-排序查询

条件查询:

        select 字段列表 from 表名 [where 条件] [group by 分组字段]order by字段1 排序方式1,字段2 排序方式2;

        ASC:升序(默认值)

        DESC:降序

示例:

select *
from tb_emp order by entrydate;

select *
from tb_emp order by entrydate ,update_time desc ;

DQL-分页查询

        select 字段列表 from 表名 limit 起始索引,查询记录数; 

示例:

select *
from tb_emp limit 0,5;

 注意:

        1.起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数

        2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMT

        3.如果查询的是第一页数据,起始索引可以省略,直接简写为limit10

案例:

select *
from tb_emp
where name like '张%'
  and gender = 1
  and entrydate between '2000-01-01' and '2015-01-01'
order by update_time desc
limit 0,10;

select (case job when 1 then '班主任' when 2 then '讲师' when 3 then '学工主管' when 4 then '教研主管'else'未分配'end)职位,
count(*)
from tb_emp group by job;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/964359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决windows下安装python并终端运行python弹出windows商店的最终解决方案

最近在windows下安装了python&#xff0c;在终端中运行python命令的时候总是会弹出windows商店 为了解决这个问题&#xff0c;我修改系统的环境变量也一直不起作用&#xff0c;只有指定绝对路径时才能正常启动&#xff0c;这个问题困扰了我很长一段时间&#xff0c;后来了解到…

Linux知识点 -- Linux多线程(四)

Linux知识点 – Linux多线程&#xff08;四&#xff09; 文章目录 Linux知识点 -- Linux多线程&#xff08;四&#xff09;一、线程池1.概念2.实现3.单例模式的线程池 二、STL、智能指针和线程安全1.STL的容器是否是线程安全的2.智能指针是否是线程安全的 三、其他常见的各种锁…

Window11下载安装jdk8-jdk11与环境变量的配置

目录 一、下载jdk 二、安装jdk 三、配置环境变量 四、检查JDK是否配置成功 一、下载jdk jdk8下载链接&#xff1a;请点击网址 jdk11下载链接&#xff1a;请点击网址 二、安装jdk 按照提示一步一步安装即可。 默认安装位置&#xff1a;C:\Program Files\Java 三、配置…

NetSuite海鲜书 - 知识会汇编 用户篇 2023

NetSuite2021年初夏&#xff0c;NetSuite知识会成立。它由本人&#xff0c;上海德之匠信息技术有限公司的毛岩喆&#xff08;江湖人称Rick&#xff09;发起建立。建立的初衷秉承Rick个人博客“学问思辨&#xff0c;企业信息化路上的行者”的理念&#xff0c;期望能够在NetSuite…

linux操作系统中的动静态库(未完)

1. 静态库与动态库 静态库&#xff08;.a&#xff09;&#xff1a;程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库动态库&#xff08;.so&#xff09;&#xff1a;程序在运行的时候才去链接动态库的代码&#xff0c;多个程序共享使用库的…

复旦国际MBA《人力分析战略》课程深度探讨最优解决方案

“近年来的各种社会变化和不确定性极大地促使我们真正重新审视我们的工作条件&#xff0c;以及思考如何呈现最好的工作和生活状态。”MIT斯隆管理学院Emilio J. Castilla教授指出&#xff0c;“由于期望发生了变化&#xff0c;无论是管理者还是员工&#xff0c;对工作场所的看法…

Java后端开发面试题——多线程

创建线程的方式有哪些&#xff1f; 继承Thread类 public class MyThread extends Thread {Overridepublic void run() {System.out.println("MyThread...run...");}public static void main(String[] args) {// 创建MyThread对象MyThread t1 new MyThread() ;MyTh…

C++ - 继承

继承的概念 继承机制是面向对象程序设计当中&#xff0c;非常重要且好用的手段&#xff0c;这种手段可以允许程序员在原有的类的特性基础之上&#xff0c;进行拓展从而产生新的类&#xff0c;这些新产生的类&#xff0c;我们成为派生类。在以前&#xff0c;我们实现的复用是函数…

【计算机基础】Git从安装到使用,详细每一步!扩展Github\Gitlab

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

Java网络编程-Socket实现数据通信

文章目录 前言网络编程三要素IP地址和端口号传输协议Socket 使用Scoket实现网络通信TCPTCP通信-发送方TCP通信-接收方结果 UDPUDP通信-发送方UDP通信-接收方结果 总结 前言 本文主要是为下一篇Websockt做铺垫&#xff0c;大家了解socket的一些实现。 网络编程三要素 网络编程…

最小二乘法处理线性回归

最小二乘法是一种数学优化技术&#xff0c;用于查找最适合一组数据点的函数。 该方法主要用于线性回归分析&#xff0c;当然&#xff0c;也可用于非线性问题。 开始之前&#xff0c;我们先理解一下什么是回归。 回归&#xff1a;回归是一种监督学习算法&#xff0c;用于建模和…

中国行政区域带坐标经纬度sql文件及地点获取经纬度方法

文章目录 前言一、如何获取某地的经纬度&#xff1f;1.1 搜索百度地图1.2 在下方找到地图开放平台1.3 下滑找到坐标拾取器1.4 使用 二、sql文件2.1 创建表2.2 插入数据 前言 当工作业务上需要涉及地图&#xff0c;给前端返回经纬度等场景&#xff0c;需要掌握区域经纬度的获取…

Unity中Transform移动相关

路程 方向 * 速度 * 时间 参数一&#xff1a;表示位移多少 路程 方向 * 速度 * 时间 参数二&#xff1a;表示 相对坐标系 默认 该参数 是相对于自己坐标系的 相对于世界坐标系的 Z轴 动 始终是朝 世界坐标系 的 Z轴正方向移动 this.transform.Translate(Vector3.forwar…

经管博士必备基础【12】包络定理

当我们知道一个函数的最优解时&#xff0c;我们要求解这一个函数的值函数关于函数中某一个参数的导数&#xff0c;那么就可以使用包络定理。 1. 无约束条件下的包络定理 函数在其极值点处对一个参数&#xff08;参数不是自变量&#xff09;取偏导数的结果&#xff0c;等价于这…

【vue2第九章】组件化开发和根组件

组件化开发和根组件 什么是组件化开发&#xff1f; 一个页面可以拆分为多个组件&#xff0c;每个组件有自己的样式&#xff0c;结构&#xff0c;行为&#xff0c;组件化开发的好处就是&#xff0c;便于维护&#xff0c;利于重复利用&#xff0c;提升开发的效率。 便于维护&…

openGauss学习笔记-58 openGauss 高级特性-资源池化

文章目录 openGauss学习笔记-58 openGauss 高级特性-资源池化58.1 特性简介58.2 架构介绍58.3 功能特点58.4 适用场景与限制58.5 手动安装示例58.6 OCK RDMA使用示例58.7 OCK SCRLock使用示例 openGauss学习笔记-58 openGauss 高级特性-资源池化 58.1 特性简介 资源池化特性主…

Mybatis-plus使用@TableField(fill = FieldFill.UPDATE)完成自动填充字段如保存更新时自动更新时间

&#x1f4da;目录 填充策略枚举介绍自定义填充策略枚举的数据测试用例插入填充更新填充 结尾 填充策略枚举介绍 使用mybatis-plus完成字段的填充,使用起来也比较方便,当我们往数据库插入一条数据时我们不需要在给指定字段上new Date() ,而是使用mybatis-plus的注解完成TableFi…

VMware 安装 Centos7 超详细过程

CentOS系统&#xff0c;安装教程可参考以下&#xff1a; 哪些模型需要在Linux下运行&#xff0c;需提前预装Linux系统呢&#xff0c;评论区讨论吧 比如Noah-MP 5.0模型 1.软硬件准备 软件&#xff1a;推荐使用 VMware&#xff0c;我用的是 VMware 12 镜像&#xff1a;CentO…

全脑建模:过去、现在和未来

什么是全脑建模&#xff1f; 全脑建模(WBM)是计算神经科学的子领域&#xff0c;涉及近似全脑神经活动的计算和理论模型。该方法的目标是研究神经活动的宏观时空模式如何由解剖连接结构、内在神经动力学和外部扰动(感觉、认知、药理、电磁等)的相互作用产生。这种宏观现象及其模…

在firefox浏览器下破解hackbar

目录 一、介绍&#xff1a; 二、安装教程 1、打开firefox浏览器插件管理扩展 2、在firefox浏览器下安装老版本Hackbar &#xff08;1&#xff09;首先删除之前安装的Hackbar插件&#xff1a; &#xff08;2&#xff09;采用从文件安装附件添加组&#xff1a; &#xff08;3…