SQL必知必会总结2 检索数据和注释

SQL样例表脚本和资料https://download.csdn.net/download/qq_40943944/12481417

SELECT 语句从表中检索一个或多个数据列

关键字(keyword)
作为 SQL 组成部分的保留字。关键字不能用作表或列的名字。

检索单个列

SELECT prod_name 
FROM Products;

在这里插入图片描述
上述语句利用 SELECT 语句从 Products 表中检索一个名为prod_name的列。所需的列名写在 SELECT 关键字之后,FROM 关键字指出从哪个表中检索数据。

提示:结束 SQL 语句
多条 SQL 语句必须以分号(;)分隔。多数 DBMS 不需要在单条 SQL语句后加分号,但也有 DBMS 可能必须在单条 SQL 语句后加上分号。当然,如果愿意可以总是加上分号。事实上,即使不一定需要,加上分号也肯定没有坏处。

提示:SQL 语句和大小写
请注意,SQL 语句不区分大小写,因此 SELECT 与 select 是相同的。同样,写成 Select 也没有关系。许多 SQL 开发人员喜欢对 SQL 关键字使用大写,而对列名和表名使用小写,这样做使代码更易于阅读和调试。不过,一定要认识到虽然 SQL 是不区分大小写的,但是表名、列名和值可能有所不同(这有赖于具体的 DBMS 及其如何配置)。

提示:使用空格
在处理 SQL 语句时,其中所有空格都被忽略。SQL 语句可以写成长长的一行,也可以分写在多行。下面这 3 种写法的作用是一样的。

SELECT prod_name 
FROM Products; 

SELECT prod_name FROM Products;

SELECT 
prod_name 
FROM 
Products; 

在这里插入图片描述
多数 SQL 开发人员认为,将 SQL 语句分成多行更容易阅读和调试。

检索多个列

要想从一个表中检索多个列,仍然使用相同的 SELECT 语句。唯一的不同是必须在 SELECT 关键字后给出多个列名,列名之间必须以逗号分隔。

SELECT prod_id, prod_name, prod_price 
FROM Products;

在这里插入图片描述

检索所有列

SELECT 语句还可以检索所有的列而不必逐个列出它们。在实际列名的位置使用星号(*)通配符可以做到这点

SELECT * 
FROM Products;

在这里插入图片描述

检索不同的值

使用 DISTINCT 关键字,顾名思义,它指示数据库只返回不同
的值

SELECT DISTINCT vend_id 
FROM Products;

在这里插入图片描述
注意:不能部分使用 DISTINCT
DISTINCT 关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定 SELECT DISTINCT vend_id, prod_price,除非指定的两列完全相同,否则所有的行都会被检索出来。

限制结果(显示指定行)

如何返回一定数量的行?
1、在 SQL Server 和 Access 中使用 SELECT 时,可以使用 TOP 关键字来限制最多返回多少行

SELECT TOP 5 prod_name 
FROM Products;

上面代码使用 SELECT TOP 5 语句,只检索前 5 行数据。
DB2

SELECT prod_name 
FROM Products 
FETCH FIRST 5 ROWS ONLY;

Oracle

SELECT prod_name 
FROM Products 
WHERE ROWNUM <=5;

MySQL、MariaDB、PostgreSQL

SELECT prod_name 
FROM Products 
LIMIT 5;

在这里插入图片描述
LIMIT 5指示MySQL等 DBMS 返回不超过 5 行的数据

SELECT prod_name 
FROM Products 
LIMIT 5 OFFSET 5;

在这里插入图片描述
LIMIT 5 OFFSET 5 指示 MySQL 等 DBMS 返回从第 5 行起的 5 行数据。第一个数字是指从哪儿开始,第二个数字是检索的行数。

注意:第 0 行
第一个被检索的行是第 0 行,而不是第 1 行。因此,LIMIT 1OFFSET 1 会检索第 2 行,而不是第 1 行。

提示:MySQL 和 MariaDB 捷径
MySQL和MariaDB支持简化版的LIMIT 4 OFFSET 3语句,即LIMIT 3,4。使用这个语法,逗号之前的值对应 OFFSET,逗号之后的值对应 LIMIT。

使用注释

SELECT prod_name  -- 这是一条注释 
FROM Products;

在这里插入图片描述
注释使用-- (两个连字符)嵌在行内。-- 之后的文本就是注释,例如,这用来描述 CREATE TABLE 语句中的列就很不错。

# 这是一条注释
SELECT prod_name 
FROM Products;

在一行的开始处使用#,这一整行都将作为注释。

/* SELECT prod_name, vend_id 
FROM Products; */ 
SELECT prod_name FROM Products;

注释从/开始,到/结束,//之间的任何内容都是注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值