SQL 经典语句

下面是SQL经典语句的完整攻略。

介绍

SQL是Structured Query Language的缩写,Structured Query Language即结构化查询语言,是关系型数据库系统的标准语言。SQL经典语句是SQL语言中的重要部分,能够帮助开发者快速高效的管理数据,操作数据库。

SQL语句分类

SQL语句主要分为以下几类:

  • 数据查询语言(Data Query Language,DQL),用于查询数据表中的数据。
  • 数据操作语言(Data Operate Language,DOL),用于添加、修改和删除数据表中的数据。
  • 数据定义语言(Data Definition Language,DDL),用于创建、修改和删除数据表的结构。
  • 事务控制语言(Transaction Control Language,TCL),用于控制事务的提交和回滚。

DQL语句

DQL语句用于查询数据表中的数据,常见的DQL语句有SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY。下面是具体的攻略。

SELECT语句

SELECT语句用于从数据表中选取数据,可以选择所有列或选择特定列,也可以根据一定条件搜索数据。使用基本SELECT语句的语法格式如下:

SELECT column1, column2, ... FROM table_name;

其中,column1, column2, ... 表示要选择的列名,可以使用 * 代替选择所有列;table_name是要查询的表名。比如,查询一个表中所有的列,使用语句:

SELECT * FROM table_name;

WHERE语句

WHERE语句用于指定一个条件,从而搜索满足该条件的数据行。使用WHERE语句的基本格式如下:

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

其中,condition用于限制要返回的行数,可以使用 =、<、>、<=、>=、LIKE、IN等运算符。比如,查询一个表中年龄大于18岁的所有人的姓名,可以使用语句:

SELECT name FROM table_name WHERE age > 18;

GROUP BY语句

GROUP BY语句用于将结果集按照一个或多个列进行分组。使用GROUP BY语句的基本格式如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column_name

其中,column_name表示要进行分组的列名,可以分组多个列,分组后只返回每组的一行数据。比如,统计一个表中每种物品的售价总和,可以使用语句:

SELECT item, SUM(price) FROM table_name GROUP BY item;

HAVING语句

HAVING语句用于对分组进行筛选,WHERE语句只能对行进行筛选。使用HAVING语句的基本格式如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column_name
HAVING condition

其中,HAVING语句中的condition与WHERE语句中的condition类似,但是只能用于分组后的结果集筛选。比如,统计一个表中每种物品的售价总和,并筛选出售价总和大于100的组,可以使用语句:

SELECT item, SUM(price)
FROM table_name
GROUP BY item
HAVING SUM(price) > 100;

ORDER BY语句

ORDER BY语句用于对查询结果进行排序,默认为升序排序。使用ORDER BY语句的基本格式如下:

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC | DESC];

其中,column_name表示要排序的列,ASC表示升序排序,DESC表示降序排序。比如,查询一个表中所有人的年龄,并按照年龄降序排序,可以使用语句:

SELECT name, age FROM table_name ORDER BY age DESC;

到这里,DQL语句的攻略就结束了。下面我们来看看查询语句的示例。

示例

下面我们以一个简单的学生信息表格为例来演示DQL语句的应用。假设我们有一个学生信息表格,包含姓名、性别、年龄、专业、成绩等字段,表格名为student,如下表所示:

姓名 性别 年龄 专业 成绩
张三 20 计算机 90
王五 23 金融学 80
李四 21 物联网 85
赵六 20 计算机 95
钱七 22 物联网 75

查询所有列

使用如下语句可以查询表格student中所有的列:

SELECT * FROM student;

条件查询

使用如下语句可以查询表格student中年龄大于20岁的学生姓名和专业:

SELECT name, major FROM student WHERE age > 20;

查询结果为:

姓名 专业
王五 金融学
李四 物联网
钱七 物联网

分组查询

使用如下语句可以查询表格student中每个专业的平均成绩:

SELECT major, AVG(score) FROM student GROUP BY major;

查询结果为:

专业 平均成绩
计算机 92.5
物联网 80
金融学 80

分组筛选

使用如下语句可以查询表格student中每个专业的平均成绩大于85的结果:

SELECT major, AVG(score) FROM student GROUP BY major HAVING AVG(score) > 85;

查询结果为:

专业 平均成绩
计算机 92.5

排序查询

使用如下语句可以查询表格student中所有学生的姓名和年龄,并按照年龄降序排序:

SELECT name, age FROM student ORDER BY age DESC;

查询结果为:

姓名 年龄
王五 23
钱七 22
李四 21
张三 20
赵六 20

到这里,DQL语句的示例就完成了,相信大家通过这些例子已经对DQL语句有一定的理解了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL 经典语句 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • MySQL GTID全面总结

    MySQL GTID全面总结 什么是GTID? GTID(Global Transaction ID)是MySQL为分布式事务提供的统一标识符。每个事务在执行时,都会被分配一个全局唯一的GTID。GTID由source_id和transaction_id两部分组成,其中source_id表示MySQL实例的唯一标识符,transaction_id表示该实例中…

    database 2023年5月21日
    00
  • Redis源码环境构建过程详解

    下面我将为你详细讲解Redis源码环境构建过程的攻略。 准备工作 在开始Redis源码的环境构建之前,首先需要准备的工具有: 一台Linux服务器 GCC C编译器 Git CMake Tcl 下载Redis源码 通过Git命令,在Linux服务器上下载最新版本的Redis源码: $ git clone https://github.com/redis/re…

    database 2023年5月22日
    00
  • SQL Server获取磁盘空间使用情况

    要获取SQL Server数据库磁盘空间使用情况,可以使用以下步骤: 步骤1:使用sys.master_files视图获取所有数据和日志文件的当前大小 使用以下查询语句可以获取所有数据库的数据和日志文件的当前大小: SELECT DB_NAME(database_id) AS [Database Name], [file_id], name, physica…

    database 2023年5月21日
    00
  • CentOS MySQL 5.7编译安装步骤详细说明

    以下是CentOS MySQL 5.7编译安装的详细步骤: 1. 下载MySQL安装包 去MySQL官方网站,选择下载MySQL 5.7版本的源码压缩包(tar.gz格式),例如:mysql-5.7.33.tar.gz 2. 安装编译工具和依赖库 使用以下命令安装编译器、自动化构建工具和MySQL编译所需的依赖库: yum install -y wget m…

    database 2023年5月22日
    00
  • SQL Server触发器和事务用法示例

    针对SQL Server触发器和事务的用法示例,下面的攻略将分为两部分进行说明。 触发器 在SQL Server中,触发器(trigger)是一种特殊的存储过程,可以在特定的数据操作(insert、update、delete等)发生时自动执行。触发器通常应用于数据的审计、约束、业务逻辑处理等场景。 创建触发器 在SQL Server中创建触发器一般需要指定以…

    database 2023年5月21日
    00
  • CentOS7安装GlusterFS集群的全过程

    CentOS7安装GlusterFS集群的全过程 GlusterFS是一款开源的分布式文件系统,它能够将多台服务器的硬盘空间连接在一起形成一个分布式存储系统。在这个过程中,GlusterFS会将多个分布式存储节点之间的硬盘空间进行汇总,使得整个系统拥有更大的存储容量。同时,通过将数据在多个物理节点之间进行分布式存储,GlusterFS也有效地提高了系统的可用…

    database 2023年5月22日
    00
  • mysql如何设置不区分大小写

    MySQL的表名、列名、字符集、函数名、变量名等默认是区分大小写的,而且也可以单独设置某些名字是不区分大小写的。 要设置MySQL不区分大小写,有两种方法: 1. 修改配置文件 修改MySQL的配置文件my.cnf或my.ini,添加如下配置: [mysqld] lower_case_table_names=1 其中,lower_case_table_nam…

    database 2023年5月22日
    00
  • MySQL日期时间函数知识汇总

    MySQL日期时间函数知识汇总 概述 MySQL提供了丰富的日期时间函数,包括获取当前时间、日期比较、日期格式转换等。掌握这些函数,能够让我们更为方便地操作日期和时间。 在本文中,我们将针对MySQL日期时间函数进行详细讲解,为大家提供完整的攻略。 获取当前时间 NOW() 函数可以返回当前日期和时间。 SELECT NOW(); — 返回当前日期和时间(…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部