SQL必知会(二)-SQL查询篇(1)-检索数据

2023-11-08 18:52

本文主要是介绍SQL必知会(二)-SQL查询篇(1)-检索数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第2课、检索数据

SELECT:查询
从一个或多个表中检索信息。

1)检索单个列

需求:从 Products 表中查询所有行的产品名称。

SElECT prod_name
FROM Products;

输出结果:

请添加图片描述

2)检索多个列

需求:从 Products 表中查询所有行的产品ID、名称和价格。

SELECT prod_id,prod_name,prod_price
FROM Products;

输出结果:

请添加图片描述

3)检索所有列

需求:从 Products 表中查询所有行的所有列。

SELECT * FROM Products;

输出结果:

请添加图片描述

4)检索不同的值

需求:检索 Products 表中所有产品供应商的 ID。

SELECT vend_id
From Products;

输出结果:

请添加图片描述

DISTINCT:过滤重复的记录
DISTINCT:过滤掉多余的重复记录只保留一条

需求:检索 Products 表中所有产品供应商的 ID,并不重复出现相同的值。

SELECT DISTINCT vend_id
From Products;

输出结果:

请添加图片描述

如果使用如下命令,则 DISTINCT 对 vend_id 和 prod_price 组合有两种不同的结果,并同时一起输出:

SELECT DISTINCT vend_id, prod_price
From Products;/*
(个人思考)
如果把语法中的 vend_id 和 prod_price 的位置互换一下:SELECT DISTINCT prod_price,vend_id
From Products;1.从输出结果来看,就会发现:
- DISTINCT 后的第一列会默认升序排序
- 当 某个列检索得出不同值的个数是所有列中最多的,以该列输出不重复值为准。
- 而其他列值依旧存在重复值。2.尝试执行其他代码,自己可以研究一下结果:
SELECT DISTINCT vend_id,prod_name, prod_price
From Products;SELECT DISTINCT vend_id, prod_price
From Products 
ORDER BY prod_price ASC;
(DISTINCT vend_id 列排序失效,按 prod_price 升序排序)
*/

输出结果:

请添加图片描述

5)限制结果

TOP:最多返回的行数
限制最多返回多少行。

需求:只检索前5行数据。

  • SQL 语句:
SELECT TOP 5 prod_name
FROM Products;
  • 如果使用 DB2:
SELECT prod_name
FROM Products
FETCH FIRST 5 ROWS ONLY;
  • 如果使用 Oracle:
SELECT prod_name
FROM Products
Where ROWNUM <=5; 
  • 如果使用 MySQL、MariaDB、PostgreSQL 或者 SQLite:
SELECT prod_name
FROM Products
LIMIT 5;
SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
-- 从第5行起的5行数据

输出结果:

请添加图片描述

总结

SELECT:查询

SELECT 列
FROM 表

DISTINCT:过滤掉多余的重复记录只保留一条

SELECT DISTINCT 列
From 表;

TOP:限制最多返回多少行

SELECT TOP 行数 列
FROM 表;

这篇关于SQL必知会(二)-SQL查询篇(1)-检索数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371835

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

MySQL日志UndoLog的作用

《MySQL日志UndoLog的作用》UndoLog是InnoDB用于事务回滚和MVCC的重要机制,本文主要介绍了MySQL日志UndoLog的作用,文中介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、Undo Log 的作用二、Undo Log 的分类三、Undo Log 的存储四、Undo

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.