【数据库】SQL 检索数据

检索数据

  • 基本检索数据
    • 检索单个列
    • 检索多个列
    • 检索所有列
    • 检索不同的值
    • 限制检索数量
  • 注释规则
  • 排序检索数据
    • 单列排序
    • 多列排序
    • 按列位置排序
    • 指定排序方向

基本检索数据

检索单个列

Products 表中检索一个名为 prod_name 的列;

SELECT prod_name
FROM Products;
  • s q l sql sql 语句将返回表中列 prod_name 的所有行,结果没有过滤没有排序。
  • s q l sql sql 语句以 ; 结束,多条 s q l sql sql 语句以分号间隔。
  • s q l sql sql 不区分大小写。
  • 系统在处理 s q l sql sql 语句时,其中所有的空格都将被忽略。所以 s q l sql sql 语句可以全部写在一行,也可以写在多行。当然建议写成多行,便于理解。

检索多个列

Products 表中检索名为 prod_id, prod_name, prod_price 列;

SELECT prod_id, prod_name, prod_price
FROM Products;
  • s q l sql sql 检索多个列,在列名之间加逗号。但是一定注意的是,不要在最后一个列名后加逗号,否则程序错误。

检索所有列

获取 Products 表中所有列;

SELECT *
FROM Products;
  • * 称为通配符,SELECT * 将返回表中所有列,列的顺序一般是表中出现的物理顺序,但是有些时候也并非如此。

检索不同的值

获取 Products 表中所有供应商 ID;

SELECT DISTINCT vend_id
FROM Products;
  • DISTINCT 使得 vend_id 列的每个结果只出现一次。
  • 注意 DISTINCT 关键字作用于所有检索的列,比如 SELECT DISTINCT vend_id, prod_price 将按照两个列 vend_idprod_price 的组合罗列出来。

限制检索数量

获取 Products 表中五行数据;

SELECT TOP 5 prod_name
FROM Products;
  • TOP 关键字限制最多返回多少行,注意并不代表最大五行,只返回最多五行结果。
  • 不同数据库管理系统使用不同的语法:
-- 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;
  • 拓展:LIMITOFFSET 结合,LIMIT 指定返回的行数,OFFSET 执行从哪里开始。LIMIT 5 OFFSET 5 代表从第5行起的5行数据。
  • 注意 第5行 其实是 第6个 数据。因为第一个被检索的行是 第0行。

注释规则

不同的数据库管理系统中注释规则有所不同,但是大差不差,读者在不同的 DBMS 自行尝试;

-- 这是一条行内注释
# 这个行内注释方法只有部分 DBMS 支持
/*这是一个多行注释方法大部分 DBMS 都适用
*/

排序检索数据

s q l sql sql 使用 ORDER BY 子句进行排序;

单列排序

检索 Products 表中 prod_name 列,并将检索结果以字母顺序排序;

SELECT prod_name
FROM Products
ORDER BY prod_name;
  • 注意 ORDER BY 子句的位置必须保证是语句中最后一列;
  • 可以使用非检索的列作为排序要求。

多列排序

Products 的多列检索结果首先按照价格、然后按照名称排序;

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;

按列位置排序

Products 的多列检索结果按照相对列位置进行排序;

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2,3;
  • 即,先按相对位置2 prod_price 然后按相对位置3 prod_name 进行排序。

指定排序方向

数据排序默认方向为:“升序”(从A-Z)方向。升序排序的关键词为 ASC,Ascending;
有升序就有降序,降序排序的关键词为 DESC,即 Descending;

-- DESC 案例
SELECT prod_id, prod_name, prod_price
FROM Products
ORDER BY prod_price DESC;
  • 拓展:读者思考下列代码是按照什么排序方向组合?
SELECT prod_id, prod_name, prod_price
FROM Products
ORDER BY prod_price DESC, prod_name;

答案是先按照 prod_price 降序,对其中结果按照 prod_name 升序方向排序。


以上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CleanMyMac X4.14.4最新免费版本功能介绍

最新版CleanMyMac X 让您的Mac焕然一新&#xff0c;时刻保持安全&#xff01;CleanMyMac X是一款专业的Mac清理软件&#xff0c;可智能清理mac磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软…

GEO生信数据挖掘(八)富集分析(GO 、KEGG、 GSEA 打包带走)

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 本节对差异基因进行富集分析。 …

大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)

自 2006 年以来&#xff0c;在国内 Linux 技术爱好者和行业公司的鼎力支持下&#xff0c;中国 Linux 内核开发者大会已走过 17个年头&#xff0c;是中国 Linux 内核领域最具影响力的峰会之一。今年的中国内核开发者大会依然秉承历届理念&#xff0c;以“自由、协作、创新”为理…

Kotlin协程简介

文章目录 官网地址1 来源2 出现原因3 特点1&#xff09; 轻量2&#xff09;内存泄漏更少3&#xff09;内置取消支持4&#xff09;Jetpack 集成 4 依赖项信息5 在后台线程中执行6 使用协程确保主线程安全7 处理异常 官网地址 https://developer.android.google.cn/kotlin/corou…

挑战分布式架构,解密Java在业务场景下的高效应用面试题目介绍常用的通信方式有哪些请分别说明各自的特点和适用场景

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 转载说明:务必注明来源(注明:…

Python-Python高阶技巧:闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

版本说明 当前版本号[20231018]。 版本修改说明20231018初版 目录 文章目录 版本说明目录Python高阶技巧闭包简单闭包修改外部函数变量的值实现以下atm取钱的闭包实现了闭包注意事项 装饰器装饰器的一般写法&#xff08;闭包写法&#xff09;装饰器的语法糖写法 设计模式单例…

x86 架构的机载计算机,它来了!

Allspark 2-x86采用Intel酷睿11代或12代CPU&#xff0c;x86架构&#xff0c;适用于无人机等机器人运行SLAM、VIO等复杂逻辑和高精度的机器视觉任务。预装 Ubuntu 22.04或Windows 11&#xff0c;满足多种使用场景。 市面上现有的一些NUC产品&#xff0c;不仅没有针对移动机器人使…

【数据结构】线性表(三)循环链表的各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间)

目录 线性表的定义及其基本操作&#xff08;顺序表插入、删除、查找、修改&#xff09; 四、线性表的链接存储结构 1. 单链表 2. 循环链表 a. 循环链表节点结构体 b. 创建新节点 c. 在循环链表末尾插入节点 d. 删除循环链表中指定值的节点 e. 在循环链表中查找指定值的…

Java 中用的是值传递还是引用传递?

值传递&#xff08;Pass by Value&#xff09;和引用传递&#xff08;Pass by Reference&#xff09;是两种参数传递的方式。 值传递是指在调用函数或方法时&#xff0c;将参数的值复制给一个临时变量然后传递给函数或方法。在函数或方法内部&#xff0c;对参数进行修改不会影…

HZOJ-271: 滑动窗口

题目描述 ​ 给出一个长度为 N&#xfffd; 的数组&#xff0c;一个长为 K&#xfffd; 的滑动窗口从最左移动到最右&#xff0c;每次窗口移动&#xff0c;如下图&#xff1a; 找出窗口在各个位置时的极大值和极小值。 输入 ​ 第一行两个数 N,K&#xfffd;,&#xfffd;。 …

linux部署gitlab

1. 配置yum源&#xff1a; vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1 2. 更新本地缓存 sudo yum install -y gitlab-ce 3. 安装相关依赖 yum …

白水三佳电脑ERP部署

安装宝塔面板&#xff0c;有这个方便很多&#xff0c;可以省下3天的环境部署时间。 移动端&#xff0c; 先取移动版的压缩包&#xff0c;上传至服务器/www/wwwroot/目录下面&#xff0c;直接解压到当前目录后会生成/www/wwwroot/m/的目录&#xff0c;移动版就在这里面了。以下…

Python3----------抽象(多态、封装、继承等)

术语多态&#xff08;polymorphism&#xff09;源自希腊语&#xff0c;意思是“有多种形态”。这大致意味着即便你不知道变量指向的是哪种对象&#xff0c;也能够对其执行操作&#xff0c;且操作的行为将随对象所属的类型&#xff08;类&#xff09;而异。 封装&#xff08;en…

基于深度优先搜索的图遍历

这里写目录标题 基于深度优先搜索的无向图遍历算法流程图Python实现Java实现 基于深度优先搜索的有向图遍历Python实现 基于深度优先搜索的无向图遍历 使用深度优先搜索遍历无向图&#xff0c;将无向图用邻接表存储&#xff1a; 算法流程图 初始化起点 source&#xff0c;当…

RAID2.0优势

一、定义 RAID2.0技术将硬盘域中的硬盘空间切分成固定大小的物理空间-CK&#xff08;Chunk64M&#xff09;&#xff0c;实现底层虚拟化&#xff0c;不同硬盘的多个CK组成存储池&#xff0c;相同类型的CK按照RAID策略组成&#xff08;CKG&#xff09;&#xff0c;CKG将再次切分成…

机器人控制算法——TEB算法—Obstacle Avoidance and Robot Footprint Model(避障与机器人足迹模型)

1.How Obstacle Avoidance works 1.1处罚条款 避障是作为整体轨迹优化的一部分来实现的。显然&#xff0c;优化涉及到找到指定成本函数&#xff08;目标函数&#xff09;的最小成本解&#xff08;轨迹&#xff09;。简单地说&#xff1a;如果一个计划的&#xff08;未来&…

Jmeter测试关联接口

Jmeter用于接口测试时&#xff0c;后一个接口经常需要用到前一次接口返回的结果&#xff0c;本文主要介绍jmeter通过正则表达式提取器来实现接口关联的方式&#xff0c;可供参考。 一、实例场景&#xff1a; 有如下两个接口&#xff0c;通过正则表达式提取器&#xff0c;将第一…

【ROS 2 基础-常用工具】-6 Rviz基础使用

所有内容请查看&#xff1a;博客学习目录_Howe_xixi的博客-CSDN博客

chromium 52 chrome 各个版本发布功能列表(58-84)

chromium Features 58-84 From https://chromestatus.com/features chromium58 Features:41 ‘allow-top-navigation-by-user-activation’ <iframe sandbox> keyword Adds a new keyword named “allow-top-navigation-by-user-activation” for iframe sandbox, wh…

整理uvc驱动相关函数的调用流程

目录 1、uvc_video.c初始化函数的调用关系 2、uvc_queue.c3、uvc_v4l2.c4、v4l2-core5、数据传输1、分配一个gadget请求2、请求一个queue 1、uvc_video.c // uvc_video.c uvc_video_encode_header uvc_video_encode_data uvc_video_encode_bulk uvc_video_encode_isoc uvcg_vi…