当前位置: 首页 > news >正文

SQL基础-DQL 小结

SQL基础-DQL 小结

  • 学习目标:
  • 学习内容:
      • SELECT
      • FROM
      • WHERE
      • GROUP BY
      • HAVING
      • ORDER BY
      • 运算符
      • ASC 和 DESC
  • 总结


学习目标:

  • 1.理解DQL(Data Query Language)的基本概念和作用。

  • 2.掌握SQL查询的基本语法结构,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句的使用。

  • 3.理解并能够使用WHERE子句进行条件筛选,包括逻辑运算符(AND、OR、NOT)和比较运算符(=、<>、>、<、>=、<=)的使用。

  • 4.掌握使用GROUP BY子句对查询结果进行分组,并能够使用聚合函数(如COUNT、SUM、AVG、MAX、MIN)进行数据的统计分析。

  • 5.学会使用HAVING子句对分组后的结果进行条件筛选。

  • 6.理解并能够使用ORDER BY子句对查询结果进行排序,包括单列排序和多列排序,以及使用ASC和DESC关键字指定排序方向。

  • 7.掌握子查询的使用,包括在SELECT、FROM、WHERE子句中嵌套子查询。

  • 8.理解并能够使用DISTINCT关键字去除查询结果中的重复记录。

  • 9.学会使用LIMIT子句限制查询结果的数量。


学习内容:

DQL(Data Query Language)是SQL(Structured Query Language)的一个重要组成部分,专门用于从数据库中检索数据。它允许用户通过编写查询语句来请求数据库中的信息,而无需修改数据本身。DQL的核心是SELECT语句,它是数据库查询中最常用的命令之一。

  • SELECT

SELECT 子句用于指定要从数据库中检索的列。可以是单个列名、多个列名,或者使用星号(*)来选择所有列。

SELECT column1, column2, ...
FROM table_name;
  • FROM

FROM 子句用于指定要从哪个表或哪些表中检索数据。

SELECT column1, column2, ...
FROM table_name;
  • WHERE

WHERE 子句用于过滤结果集,只返回满足指定条件的记录。

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • GROUP BY

GROUP BY 子句用于将结果集中的数据分组,通常与聚合函数一起使用,如COUNT(), SUM(), AVG(), MAX(), MIN()等。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
  • HAVING

HAVING 子句用于对GROUP BY子句返回的结果集进行条件过滤,类似于WHERE子句,但HAVING可以使用聚合函数。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > 10;
  • ORDER BY

ORDER BY 子句用于对结果集进行排序,可以指定一个或多个列,并且可以指定排序的方向(升序ASC或降序DESC)。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC, column2 DESC;
  • 运算符

在SQL中,WHERE子句用于指定从数据库表中检索数据的条件。通过使用逻辑运算符(AND、OR、NOT)和比较运算符(=、<>、>、<、>=、<=),可以构建复杂的查询条件来筛选数据。

以下是一些使用这些运算符的示例:

  1. 使用比较运算符:

    • = 等于
    • <> 不等于
    • > 大于
    • < 小于
    • >= 大于等于
    • <= 小于等于
  2. 使用逻辑运算符:

    • AND 用于组合多个条件,只有当所有条件都为真时,记录才会被选中。
    • OR 用于组合多个条件,只要有一个条件为真,记录就会被选中。
    • NOT 用于反转条件的结果。

在使用这些运算符时,需要注意运算符的优先级。在SQL中,NOT 的优先级最高,其次是 AND,然后是 OR。如果不确定优先级,可以使用括号 () 来明确指定运算顺序。

  • ASC 和 DESC

在SQL查询中,ASCDESC 关键字用于指定列的排序方向。ASC 表示升序(从低到高),而 DESC 表示降序(从高到低)。默认情况下,如果没有指定排序方向,SQL查询将使用升序排序。

  1. 升序排序:
SELECT * FROM employees
ORDER BY salary ASC;

这个查询将返回所有员工记录,并按照工资升序排序。

  1. 降序排序:
SELECT * FROM employees
ORDER BY salary DESC;

这个查询将返回所有员工记录,并按照工资降序排序。

  1. 结合GROUP BYHAVING子句的排序:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY avg_salary DESC;

这个查询将返回每个部门的平均工资,并且只包括那些平均工资超过50,000的部门。结果将按照平均工资降序排序。


总结


图片来源于https://www.bilibili.com/video/BV1Kr4y1i7ru?p=24&spm_id_from=pageDriver&vd_source=1f3140ce51cb028326bf69f5117609d8

相关文章:

SQL基础-DQL 小结

SQL基础-DQL 小结 学习目标&#xff1a;学习内容&#xff1a;SELECTFROMWHEREGROUP BYHAVINGORDER BY运算符ASC 和 DESC 总结 学习目标&#xff1a; 1.理解DQL&#xff08;Data Query Language&#xff09;的基本概念和作用。 2.掌握SQL查询的基本语法结构&#xff0c;包括SEL…...

冒泡排序与其C语言通用连续类型排序代码

冒泡排序与其C语言通用连续类型排序代码 冒泡排序冒泡排序为交换排序的一种&#xff1a;动图展示&#xff1a;冒泡排序的特性总结&#xff1a;冒泡排序排整型数据参考代码&#xff08;VS2022C语言环境&#xff09;&#xff1a; 冒泡排序C语言通用连续类型排序代码对比较的方式更…...

Python爬虫并输出

1. Python爬虫并输出示例 下面是一个使用Python编写的简单网络爬虫示例&#xff0c;该爬虫将抓取某个网页&#xff08;例如&#xff0c;我们假设为https://example.com&#xff0c;但请注意实际使用时我们需要替换为一个真实且允许抓取的网站&#xff09;的标题&#xff08;Ti…...

交叉熵损失函数的使用目的(很肤浅的理解)

第一种使用方法 import torch from torch import nn # Example of target with class indices loss nn.CrossEntropyLoss() input torch.randn(3, 5, requires_gradTrue) target torch.empty(3, dtypetorch.long).random_(5) output loss(input, target) output.backward(…...

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…...

【MySQL】4.MySQL 的数据类型

MySQL 的数据类型 一.数据类型分类在这里插入图片描述二.注意点1.char VS varchar2.datetime VS timestamp3.enum 和 set 的使用方法 一.数据类型分类 二.注意点 1.char VS varchar char 的意义是直接开辟固定大小的空间&#xff0c;浪费磁盘空间&#xff0c;但是效率高varcha…...

STM32中断(NVIC和EXIT)

CM3 内核支持 256 个中断&#xff0c;其中包含了 16 个内核中断和 240个外部中断&#xff0c;并且具有 256 级的可编程中断设置。但STM32 并没有使用CM3内核的全部东西&#xff0c;而是只用了它的一部分。STM32有 76 个中断&#xff0c;包括16 个内核中断和 60 个可屏蔽中断&am…...

哈弗架构和冯诺伊曼架构

文章目录 1. 计算机体系结构 2. 哈弗架构&#xff08;Harvard Architecture&#xff09; 3. 改进的哈弗架构 4. 冯诺伊曼架构&#xff08;Von Neumann Architecture&#xff09; 5. 结构对比 1. 计算机体系结构 计算机体系结构是指计算机系统的组织和实现方式&#xff0c…...

Python实现动态迷宫生成:自动生成迷宫的动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义迷宫生成类主循环 完整代码 引言 迷宫生成算法在游戏开发和图形学中有着广泛的应用。它不仅可以用于创建迷宫游戏&#xff0c;还可以用于生成有趣的图案。在这篇博客中&#xff0c;我们将使用Python…...

大学生暑假“三下乡”社会实践工作新闻投稿指南请查收!

近年来&#xff0c;大学生暑期“三下乡”社会实践工作方兴未艾&#xff0c;越来越多的大学生通过参与“三下乡”实践工作&#xff0c;走出校园&#xff0c;深入基层&#xff0c;体验农村生活&#xff0c;服务农民&#xff0c;促进农村经济社会发展&#xff0c;实现了理论与实践…...

MySQL InnoDB存储引擎

MySQL InnoDB存储引擎 InnoDB 存储引擎的优点&#xff1a;由于 InnoDB 存储引擎存储的数据量大&#xff0c;性能高&#xff0c;可以有效的保证数据安全等优点&#xff0c;在 MySQL 5.5 后称为了默认的存储引擎。 InnoDB 内存结构&#xff1a; 缓冲池&#xff08;buffer poll&…...

无头单向非循环链表实现 and leetcode刷题

无头单向非循环链表实现 1. 单链表的模拟实现IList.java接口&#xff1a;MySingleList.java文件&#xff1a; 2. leetcode刷题2.1 获取链表的中间节点2.2 删除链表中所有值为value的元素2.3 单链表的逆置2.4 获取链表倒数第k个节点2.5 给定 x, 把一个链表整理成前半部分小于 x,…...

Ubuntu系统上安装Apache和WordPress

** 第一步跟新系统包 ** 首先跟新系统包 sudo apt update sudo apt upgrade第二步下载安装apache sudo apt install apache2 ##查看apache的状态是否启动成功 sudo systemctl status apache2 ##查看服务器的ip地址 sudo ip a通过ip地址进行访问apache页面 第三步下载安装…...

Doze和AppStandby白名单配置方法和说明

机制 配置路径 配置案例 说明 影响机制 调试命令 Doze /platform/frameworks/base /data/etc/platform.xml allow-in-power-save 【系统应用Doze白名单配置】 Doze\Job\AppStandby\Alarm\WakeLock\Sync 查看Doze白名单:adb shell dumpsys deviceidle 添加Doze白名单…...

坑2.Date类型的请求参数

前端 <el-form-item label"结束日期" prop"endTime"><el-date-pickerv-model"dataForm.endTime"type"date"value-format"yyyy-MM-dd HH:mm:ss"placeholder"选择日期"></el-date-picker></el…...

javaweb ajax maven mybatis spring springmvc 在项目中有什么用, 举例说明

JavaWeb是一种基于Java语言的Web开发技术&#xff0c;可以用来开发动态网站和Web应用程序。 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种在Web开发中用于实现异步通信的技术&#xff0c;可以在不刷新整个网页的情况下更新部分页面内容&#xff0c;提升…...

Python编程学习笔记(4)--- 字典

目录 1 什么是字典 2 使用字典 2.1 访问字典中的值 2.2 添加键值对 2.3 创建空字典 2.4 修改字典中的值 2.5 删除键值对 2.6 类似键值对组成的字典 2.7 使用get&#xff08;&#xff09;来访问值 3 遍历字典 3.1 遍历所有键值对 3.2 遍历字典中的所有键 3.3 按照特…...

会员运营体系设计及SOP梳理

一些做会员的经验和方法分享给大家&#xff0c;包括顶层思考、流程的梳理、组织的建立&#xff0c;后续会做成系列&#xff0c;最近几期主要围绕顶层策略方面&#xff0c;以下是核心内容的整理&#xff1a; 1、会员运营体系设计 顶层设计与关键业务定位&#xff1a;建立客户运营…...

SQL 自定义函数

概念 自定义函数是用户根据自己的业务逻辑或计算需求创建的函数。这些函数可以接收一个或多个输入参数&#xff0c;执行一系列的操作&#xff08;如计算、数据处理、逻辑判断等&#xff09;&#xff0c;并最终返回一个值或结果集。自定义函数可以被多次重用&#xff0c;提高了…...

C# 下sendmessage和postmessage的区别详解与示例

文章目录 1、SendMessage2、PostMessage3、两者的区别&#xff1a; 总结 在C#中&#xff0c;SendMessage和PostMessage是两个用于Windows编程的API&#xff0c;它们用于向窗口发送消息。这两个方法都位于System.Windows.Forms命名空间中&#xff0c;通常用于自动化Windows应用程…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...