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

微服务架构下Spring Session与Redis分布式会话实战全解析

微服务架构下Spring Session与Redis分布式会话实战全解析

目录 🚀摘要 📖 为什么需要分布式会话管理? 🎯 传统会话管理的痛点 🔄 分布式会话的演进历程 🏗️ Spring Session架构深度解析 🎨 设计理念:透明化抽象层 🔧 核心组件解析 1. SessionRepositoryFilter - 入口拦截器 2. RedisSessionRepository - Redis实现 📊 性能特性分析 🔧 实战:从零构建企业级分布式会话系统 🛠️ 环境准备与项目搭建 Maven依赖配置 Redis集群配置 🎯 Spring Session高级配置 自定义序列化策略 会话事件监听器 💻 完整代码示例:电商购物车会话管理 📈 性能优化实战 1. Redis数据结构优化 2. 会话数据分片策略 🏢 企业级高级应用 📊 大型电商平台案例:双11大促会话管理 分级存储策略 会话迁移服务 ⚡ 性能优化技巧 1. 读写分离优化 2. 本地缓存优化 🔍 故障排查指南 1. 常见问题与解决方案 2. 监控指标配置

By Ne0inhk
Spring Boot 视图层与模板引擎

Spring Boot 视图层与模板引擎

Spring Boot 视图层与模板引擎 19.1 学习目标与重点提示 学习目标:掌握Spring Boot视图层与模板引擎的核心概念与使用方法,包括Spring Boot视图层的基本方法、Spring Boot与Thymeleaf的集成、Spring Boot与Freemarker的集成、Spring Boot与Velocity的集成、Spring Boot的静态资源管理、Spring Boot的实际应用场景,学会在实际开发中处理视图层问题。 重点:Spring Boot视图层的基本方法、Spring Boot与Thymeleaf的集成、Spring Boot与Freemarker的集成、Spring Boot与Velocity的集成、Spring Boot的静态资源管理、Spring Boot的实际应用场景。 19.2 Spring Boot视图层概述 Spring Boot视图层是指使用Spring Boot进行Web应用开发的方法。 19.2.1 视图层的定义 定义:视图层是指使用Spring Boot进行Web应用开发的方法。 作用:

By Ne0inhk
70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治

70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治

70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治 在物联网、工业互联网和运维监控领域,时序数据处理的需求正以前所未有的速度增长。面对海量设备产生的持续数据流,企业需要一个既能高速写入、又能快速分析的数据库引擎。长期以来,InfluxDB以其在时序领域的先发优势和简洁设计,成为许多团队的首选。然而,随着数据规模从“万级”跃升至“千万级”,业务查询从简单的点查变为复杂的多维度聚合,其性能瓶颈开始显现。 一场关于性能、扩展性与综合能力的较量,正在国产数据库金仓(KingbaseES)与国际开源方案InfluxDB之间展开。 性能对决:从数据摄入到复杂洞察的全面领先 真正的性能对比必须基于真实、可复现的测试场景。金仓数据库使用业界公认的开源时序基准测试套件TSBS,与InfluxDB进行了多轮正面较量,结论清晰而有力:在小规模、简单查询的工作负载下,两者各有千秋;但在大规模、复杂分析的真实生产环境中,金仓展现出压倒性的优势。 在数据写入吞吐方面,格局随数据规模急剧变化。测试模拟了从100台到1000万台设备的不同数据压力。当设备规模达到40

By Ne0inhk
数据库事务隔离级别与Spring传播行为深度解析

数据库事务隔离级别与Spring传播行为深度解析

干了多年Java开发,我可以明确告诉你:事务问题是线上最隐蔽的bug来源。很多人以为加了@Transactional就万事,结果数据不一致、死锁、性能问题接踵而至。今天咱们就彻底搞清楚事务隔离级别和传播行为这两个看似简单实则坑多的概念。 目录 🎯 先说说我被事务"坑惨"的经历 ✨ 摘要 1. 事务不是"要么全做,要么不做"那么简单 1.1 ACID原则的真相 1.2 事务的"不可能三角" 2. 四种隔离级别深度解析 2.1 并发问题三兄弟 2.2 隔离级别对比 2.3 MVCC:隔离级别的实现核心 3. 锁机制:事务隔离的基石 3.1 MySQL锁类型详解

By Ne0inhk