吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1291|回复: 15
收起左侧

[其他原创] SQL基础-DQL 小结

  [复制链接]
2045976511 发表于 2024-8-21 16:36


学习目标:

  • 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的部门。结果将按照平均工资降序排序。


免费评分

参与人数 5吾爱币 +11 热心值 +4 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
a943922863 + 1 + 1 继续啊,老哥
tomway + 1 + 1 谢谢@Thanks!
linhai001 + 1 + 1 用心讨论,共获提升!
yue2333 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ailmail 发表于 2024-8-21 20:43
本帖最后由 ailmail 于 2024-8-21 20:45 编辑

SQL 入门知识。
其实  试试 DDL  难度大一点并不常用。
(重发啦,请删除!)
shenhai666 发表于 2024-8-21 20:11
a5211314 发表于 2024-8-21 20:28
ailmail 发表于 2024-8-21 20:42
SQL 入门知识。
其实  试试 DDL  难度大一点并不常用。
beiqian04 发表于 2024-8-21 20:56
SQL 的入门知识,这倒是挺少见的,版主继续更
KeviseBY 发表于 2024-8-22 07:56
非常实用,有没有大量例子
d199212 发表于 2024-8-22 08:17
身为一个前端看的津津有味
xuJianFeng 发表于 2024-8-22 08:30
期待下一步:sql实战复杂案例
ilpj 发表于 2024-8-22 08:31
进来复习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 14:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表