SQL 查询语句

SQL 查询语句

目录

什么是 SELECT 语句?

为什么要学习SELECT 语句?

查询单列数据

查询多列数据

查询所有列

查询不同的值(去重)

限制返回行数

分页查询(从第几行开始取多少行)

使用注释(3种写法)


本篇文章有对应教学视频,可点击下方链接跳转

SQL 查询语句_哔哩哔哩_bilibili

什么是 SELECT 语句?

        在 SQL 语言中,SELECT 语句是最基础、也是最常用的语句类型之一。它的核心作用是从数据库表中查询数据,并将符合条件的结果以表格的形式返回。几乎所有与数据库交互的操作,查询通常都是最频繁使用的场景,而 SELECT 就是执行这类操作的首选语句。

一条完整的 SELECT 语句至少包含两个基本组成部分:

查询的字段(列名):指明希望从表中检索哪些列的数据,例如产品名称、价格、编号等。
数据来源的表名:指明数据是从哪个表中获取的,例如 Products、Users、Orders 等。

例如,下面这条语句的含义是:从名为 products 的表中,查询其中的 prod_name 列:

SELECT prod_name FROM products;

这是 SELECT 语句的基本结构,是学习 SQL 的第一步,也是后续所有查询操作的基础。

为什么要学习SELECT 语句?

        SELECT 是与数据打交道的入口。 数据库中存储着大量信息,而我们学习 SQL 的目的之一就是从中提取有用的信息。无论是查看某个产品的价格、统计用户的订单数量,还是筛选出某个时间段内的数据,所有这些操作几乎都离不开 SELECT 语句。

        SELECT 语句具有高度的扩展性。 从最简单的“查询一列数据”开始,到后续结合 WHERE 条件过滤、ORDER BY 排序、GROUP BY 分组聚合、JOIN 多表连接、嵌套子查询等复杂操作,几乎所有查询逻辑都是以 SELECT 为基础逐步构建的。也就是说,SELECT 是贯穿整个数据库查询过程的核心。

后续代码运行基于下面的 products 表 来进行查询

prod_idprod_nameprod_pricevend_id
1001笔记本电脑5999100
1002无线鼠标99100
1003机械键盘299101

prod_id 是产品唯一标识符
prod_name 是产品名称
prod_price 是产品价格
vend_id 是产品供应商 ID

查询单列数据

SELECT prod_name FROM products;

从 products 表中查询 prod_name 这一列的所有数据。

查询多列数据

SELECT prod_id, prod_name, prod_price FROM products;

用逗号分隔多个字段名。
注意:最后一个字段后面不能加逗号。
返回的是表中的三列内容。

查询所有列

SELECT * FROM products;

* 表示返回所有字段。

查询不同的值(去重)

SELECT DISTINCT vend_id FROM products;

DISTINCT 用于去除重复值。
如果不想看到重复的供应商 ID,就要加它。

SELECT DISTINCT vend_id, prod_price FROM products;

基于 (vend_id, prod_price) 的组合去重。

在之前的表中,我们只有3行数据,在这里我们再添加5行数据,如下

运行下面代码添加数据即可,不用手动添加 
记得圈出代码再运行,而不是直接运行

INSERT INTO products (prod_id, prod_name, prod_price, vend_id) VALUES (1004, '平板电脑', 2499, 100), (1005, '蓝牙音箱', 199, 101), (1006, '游戏耳机', 399, 102), (1007, '无线充电器', 89, 100), (1008, '电竞鼠标垫', 49, 102);

限制返回行数

SELECT prod_name FROM products LIMIT 5;

分页查询(从第几行开始取多少行)

SELECT prod_name FROM products LIMIT 2 OFFSET 3;

LIMIT x OFFSET y 表示从第 y+1 行开始,取 x 行。
可用于实现分页(例如:第2页,每页5条数据)。

使用注释(3种写法)

(1) 行内注释(常用):

SELECT prod_name -- 查询产品名 FROM products;

(2) 整行注释:

# 查询产品名 SELECT prod_name FROM products;

(3) 块注释:

/* 这个查询已弃用 SELECT prod_name, vend_id FROM products; */ SELECT prod_name FROM products;

注释不会被执行,用于提高可读性、临时停用某段代码。


尚未完结,可点击链接跳转下一篇文章

排序检索数据-ZEEKLOG博客

Read more

【Nginx】——从0到1,带你玩转Nginx,掌握其中的技巧以及配置

【Nginx】——从0到1,带你玩转Nginx,掌握其中的技巧以及配置

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大三学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL,Java基础,Rust】 🎈热门专栏:🎊【Python,Javaweb,Springboot】  感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️ 目录 🎈概念 🎈下载 🎈上传安装 ✨开始安装 ✨ 目录结构 🎈 常用命令  ✨ 开启nginx  ✨ 看一下文件日志  ✨ 重新加载配置文件 ✨ 配置文件  🎈 配置文件结构 🎈具体应用 ✨ 部署静态资源 ✨ 反向代理 ✨ 负载均衡 🎈概念         Nginx(engine x)由俄罗斯的程序设计师Igor Sysoev所开发,官方测试显示Nginx能够支撑高达5万并发连接数。Nginx不仅可以作为HTTP服务器使用,处理静态页面或支持FastCGI、SCGI、uWSGI等协议的动态语言,还能充当反向代理服务器,实现负载均衡,以及提供IMAP/

By Ne0inhk
Spring Boot 日志配置详解:log4j2.xml 的完整配置指南

Spring Boot 日志配置详解:log4j2.xml 的完整配置指南

在现代企业级应用开发中,日志管理是系统运维和问题排查的重要组成部分。本文将详细介绍如何在 Spring Boot 项目中配置 Log4j2,包括完整的 [log4j2.xml]配置文件和相关依赖设置。 一、为什么选择 Log4j2? Spring Boot 默认使用 Logback 作为日志框架,但在某些场景下我们更倾向于使用 Log4j2: 1. 性能优势:Log4j2 使用异步日志记录,在高并发环境下性能表现更优 2. 无锁设计:采用 LMAX Disruptor 库实现无锁异步日志记录 3. 灵活配置:支持更丰富的日志过滤和格式化选项 4. 动态更新:配置文件修改后无需重启应用即可生效 二、Maven 依赖配置 1. 排除默认日志框架 首先需要排除 Spring Boot 默认的 Logback 依赖: <

By Ne0inhk
【MySQL】从连接数据库开始:JDBC 编程入门指南

【MySQL】从连接数据库开始:JDBC 编程入门指南

个人主页:♡喜欢做梦 欢迎  👍点赞  ➕关注  ❤️收藏  💬评论 目录 🌟一、什么是JDBC? 🌟二、JDBC编程的步骤 ✨使用步骤 ✨DriverManger 💫定义 💫DriverManger的主要功能 💫DriverManger的核心方法 💫使用 ✨DataSource 💥定义 💥使用  💥代码优化 ✨DriverManger和DataSource的区别 🌟一、什么是JDBC? JDBC(Java Data Base Connectivity,Java数据库连接)是Java程序和数据库之间的桥梁,也就是Java语言操作数据库的标准API,他提供了一套用于执行SQL语句的Java接口。JDBC的主要作用就是:与数据库连接、发送SQL语句和处理数据库执行结果。 🌟二、JDBC编程的步骤 ✨使用步骤 1.加载数据库厂商的驱动包 2.建立连接,用户名,密码 3.创建Statement 4.发送要执行的SQL语句

By Ne0inhk
通俗理解Encoder-Decoder架构(T5类)

通俗理解Encoder-Decoder架构(T5类)

目录 1. 引言 2. Transformer基础知识 2.1 什么是Transformer? 2.2 注意力机制详解 2.3 位置编码的作用 3. Encoder-Decoder架构概述 3.1 Encoder的结构与功能 3.2 Decoder的结构与功能 3.3 Encoder-Decoder的交互方式 4. T5模型:Encoder-Decoder的典型代表 4.1 T5的起源与设计理念 4.2 Text-to-Text框架 4.3 T5的预训练任务 4.4 T5变体与参数规模 5. Encoder-Decoder在NLP中的应用 5.1 机器翻译 5.2 文本摘要 5.3

By Ne0inhk