当前位置: 首页 > 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应用程…...

Claude帮用户找回40万美元Bitcoin:AI在密码破解上真正擅长的是什么?

一名美国男子在2013年买了5个BTC&#xff0c;2015年在醉酒后修改钱包密码&#xff0c;忘记了新密码。 11年后&#xff0c;他用Claude找回了价值40万美元的资产。 网友&#xff1a;AI真的很神奇。 但很少有人问这个问题&#xff1a;Claude到底是怎么做到的&#xff0c;以及更重要…...

从‘密码长度’到‘任意代码执行’:手把手复现攻防世界int_overflow靶场(附Python3 EXP)

从密码长度到系统控制&#xff1a;整数溢出漏洞实战攻防全解析 在网络安全领域&#xff0c;整数溢出漏洞往往因其隐蔽性而被开发者忽视&#xff0c;却可能成为攻击者打开系统大门的金钥匙。本文将带您深入一个典型场景&#xff1a;如何通过精心构造的密码输入&#xff0c;从简单…...

Sora-FullStack全栈开发框架:构建AI视频生成应用的工程实践

1. 项目概述&#xff1a;一个全栈式Sora应用开发框架的诞生最近在AI视频生成领域&#xff0c;Sora的横空出世无疑点燃了无数开发者和创业者的热情。但兴奋过后&#xff0c;一个现实问题摆在眼前&#xff1a;如何将Sora这类前沿模型的能力&#xff0c;真正落地成一个稳定、可用、…...

KMS_VL_ALL_AIO:三步实现Windows和Office永久激活的完整指南

KMS_VL_ALL_AIO&#xff1a;三步实现Windows和Office永久激活的完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出的激活提醒而烦恼吗&#xff1f;Office文档突…...

FOC如何控制速度力矩大小,以及无感FOC检测电角度的方法

FOC 控制电机&#xff0c;本质就一句话&#xff1a; 通过控制三相电流&#xff0c;让定子磁场始终在“最合适的角度”拉着/推着转子转。 更工程一点说&#xff1a; 速度靠速度环调节&#xff0c;扭矩靠 q 轴电流 Iq 调节&#xff0c;电角度靠编码器/霍尔/无感估算得到。 1. …...

VisualCppRedist AIO:Windows系统运行库终极解决方案

VisualCppRedist AIO&#xff1a;Windows系统运行库终极解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经在安装新软件或游戏时&#xff0c;突…...

Linux 安全 - 从SUID到Capabilities:细粒度权限控制的演进与实践

1. 从SUID到Capabilities&#xff1a;权限控制的进化史 记得我第一次接触Linux权限管理时&#xff0c;被那个神秘的SUID位搞得晕头转向。当时为了给团队搭建一个共享日志分析工具&#xff0c;需要让普通用户能够读取/var/log下的敏感日志文件。老同事建议我"给那个脚本加个…...

CL API实时闭环神经控制技术解析与应用

1. CL API实时闭环神经控制技术概述在生物神经网络&#xff08;BNN&#xff09;研究领域&#xff0c;实时闭环控制技术正成为连接计算系统与生物神经元的桥梁。CL API作为这一领域的前沿工具&#xff0c;其设计哲学源于对神经电生理实验的深刻理解——当我们需要在毫秒级时间尺…...

嵌入式Linux CPU频率固定:原理、方法与ElfBoard实战

1. 项目概述&#xff1a;为什么需要固定CPU频率&#xff1f;在嵌入式开发领域&#xff0c;尤其是像ElfBoard这样的ARM开发板上进行应用开发或性能调优时&#xff0c;CPU频率的动态调整&#xff08;DVFS&#xff0c;动态电压频率调整&#xff09;有时会成为一把双刃剑。对于追求…...

CodeWarrior IDE文件操作与ARM开发实践

1. CodeWarrior IDE文件操作深度解析在嵌入式开发领域&#xff0c;文件操作的高效管理直接影响着开发效率和代码安全性。作为ARM开发的经典工具链组件&#xff0c;CodeWarrior IDE提供了一套完整的文件管理机制&#xff0c;特别适合处理ARM架构的嵌入式项目。我使用这套工具开发…...