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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Android平台开发,购物商城

相关视频教程在某站上面(&#x1f50d;浩宇软件开发) 1. 项目功能思维导图 2. 项目涉及到的技术点 使用SQLite数据库实现数据存储使用CountDownTimer实现启动页倒计时使用SharedPreferences实现记住密码登录使用BottomNavigationView实现底部导航栏使用ActivityFragment实现底…

C++:红黑树

概念 红黑树是一种二叉搜索树&#xff0c;一般的二叉搜索会发生不平衡现象&#xff0c;导致搜索效率下降&#xff0c;于是学者们开始探索如何让二叉搜索树保持平衡&#xff0c;这种树叫做自平衡二叉搜索树。起初学者发明了AVL树&#xff0c;其通过一定算法保持了二叉搜索树的严…

【Linux】进程7——查看进程

1.为什么进程管理这么重要呢&#xff1f; 这是因为&#xff1a; 首先&#xff0c;我们在操作系统时的各项任务其实都是经过某个PID来完成的&#xff08;包括你的bash环境&#xff09;&#xff0c;因此&#xff0c;能不能执行某项任务&#xff0c;就与该进程的权限有关了。再来…

【Java数据结构】初识线性表之一:顺序表

使用Java简单实现一个顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改。 线性表大致包含如下的一些方法&#xff1a; public class MyArrayList { private int[] array; pri…

SD卡讲解

SD 卡 (Secure Digital Memory Card) 在我们生活中已经非常普遍了&#xff0c;控制器对 SD 卡进行读写通信 操作一般有两种通信接口可选&#xff0c;一种是 SPI 接口&#xff0c;另外一种就是 SDIO 接口。SDIO 全称是安全数 字输入/输出接口&#xff0c;多媒体卡 (MMC)、SD 卡、…

【学习css2】grid布局-页面footer部分保持在网页底部

中间内容高度不够屏幕高度撑不开的页面时候&#xff0c;页面footer部分都能保持在网页页脚&#xff08;最底部&#xff09;的方法 1、首先上图看显示效果 2、奉上源码 2.1、html部分 <body><header>头部</header><main>主区域</main><foot…

centos9中mysql指令提示解决方案

CentOS 9 中没有 MySQL 的官方插件&#xff0c;因为 MySQL 不是 CentOS 的默认数据库&#xff0c;它是 MariaDB 的一部分。 如果想要一个命令行提示的 MySQL 客户端&#xff0c;可以使用第三方工具 &#xff0c;如mycli 首先&#xff0c;确保已经安装了 MySQL&#xff0c;且操…

【人工智能】-- 受限玻尔兹曼机

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f349;受限玻尔兹曼机 &#x1f348;RBM的结构 &#x1f34d;RBM的架构图 &#x1f34d;RBM的经典实现 &…

DOM(文档对象模型)生命周期事件

前言 DOM 生命周期事件涉及到从创建、更新到销毁 DOM 元素的不同阶段。 ● 我们来看下当HTML文档加载完再执行JavaScript代码 document.addEventListener(DOMContentLoaded, function (e) {console.log(HTML parsed adn DOM tree built!, e); })● 除此之外&#xff0c;浏览…

windows环境下基于3DSlicer 源代码编译搭建工程开发环境详细操作过程和中间关键错误解决方法说明

说明: 该文档适用于  首次/重新 搭建3D-Slicer工程环境  Clean up(非增量) 编译生成 1. 3D-slicer 软件介绍 (1)3D Slicer为处理MRI\CT等图像数据软件,可以实行基于MRI图像数据的目标分割、标记测量、坐标变换及三维重建等功能,其源于3D slicer 4.13.0-2022-01-19开…

9717 取数对弈

首先&#xff0c;我们需要初始化两个数组&#xff0c;一个用于存储输入的数列a[]&#xff0c;另一个用于动态规划过程中存储中间结果的二维数组dp[][]。dp[i][j]表示从数列的第i个数到第j个数时&#xff0c;当前玩家&#xff08;甲方先手&#xff09;能够获得的最大得分。 接下…

JavaScript(9)——作用域的一些问题

如果在函数内部&#xff0c;变量没有声明直接赋值&#xff0c;也会当做全局变量看。强烈不推荐&#xff01;&#xff01; function op() {num 80}op()console.log(num) 在不同作用域下&#xff0c;可能存在变量命名冲突的情况&#xff1a; let num 10 function fn(){let num…

前端如何取消接口调用

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 1. xmlHttpRequest是如何取消请求的&#xff1f; 实例化的XMLHttpRequest对象上也有abort方法 const xhr new XMLHttpRequest(); xhr.addEventListener(load, function(e)…

模式物种葡萄基因组(T2T)--文献精读29

The complete reference genome for grapevine (Vitis vinifera L.) genetics and breeding 葡萄&#xff08;Vitis vinifera L.&#xff09;遗传学和育种的完整参考基因组 摘要 葡萄是全球最具经济重要性的作物之一。然而&#xff0c;以往版本的葡萄参考基因组通常由成千上万…

关于centos7自带的nginx1.20.1开启https后,XP系统的IE6和IE8无法显示网页的问题

CentOS7自带的nginx-1.20.1是支持HTTP/2和TLS1.3的。 软件包名称&#xff1a;nginx-1.20.1-10.el7.x86_64 CentOS7默认开启了HTTP/2&#xff0c;但没有开启TLS1.3&#xff0c;以及IE6和IE8的https访问。 开启方法&#xff1a; ssl_ciphers HIGH:!aNULL:!MD5;改为ssl_ciphers…

防火墙第一次综合实验

DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 办公区设备10.8.2.1不允许访问DMZ区的FTP服务器和HTTP服务器&#xff0c;仅能ping通10.0.3.10 1.先建立拒绝BG到DMZ区的安全策略 2.建立BG到DMZ区的icmp允许 3…

网络基础:Vlan原理与配置

VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;是一种将一个物理网络划分为多个逻辑子网的技术。它通过在网络交换机上配置&#xff0c;使得不同VLAN中的设备即使连接在同一个物理交换机上&#xff0c;也不能直接进行通信&#xff0c;从而实现…

系统服务综合作业01

题目&#xff1a; 现有主机 node01 和 node02&#xff0c;完成如下需求&#xff1a; 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 no…

三分钟看懂马尔可夫链(Markov Chain)是什么

马尔可夫链&#xff08;Markov Chain&#xff09;是一种数学模型&#xff0c;用于描述系统在不同状态之间的转移过程。简单来说&#xff0c;马尔可夫链描述了一个系统在各个状态之间转移的概率&#xff0c;这种转移是随机的&#xff0c;但遵循特定的概率规则。它有两个重要特性…

Linux shell编程学习笔记63:free命令 获取内存使用信息

0 前言 在系统安全检查中&#xff0c;内存使用情况也是一块可以关注的内容。Linux提供了多个获取内存信息的命令很多。今天我们先研究free命令。 1 free命令的功能、用法和选项说明 1.1 free命令的功能 free 命令可以显示系统内存的使用情况&#xff0c;包括物理内存、交换…