SQL基础知识:SELECT
SQL基础知识:SELECT
ZhangCurrySQL基础知识:SELECT
以下示例数据库可以从网盘中获取
https://pan.baidu.com/s/1i7eVmap?_at_=1778177616657[#list](javascript:;)/path=%2F
SQL执行顺序
(8)SELECT (9)DISTINCT (11)
SELECT的用法
先来讲解SELECT的用法。
SELECT 语句定义
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SELECT 语法
1 | SELECT 列名称 FROM 表名称; |
以及:
1 | SELECT * FROM 表名称; |
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SELECT 列名 实例
如需获取名为 “姓名” 和 “省份” 的列的内容(从名为 “Customers” 的数据库表),请使用类似这样的 SELECT 语句:
1 | SELECT 姓名,省份 FROM dbo.Customers; |
“Customers” 表:
查询结果:
SELECT * 实例
现在我们希望从 “Customers” 表中选取所有的列。
请使用符号 * 取代列的名称,就像这样:
1 | SELECT * FROM dbo.Customers |
提示:星号(*)是选取所有列的快捷方式。
结果:
批注
SELECT就是数据库中的查询语句,打个比方当你希望从10000个人中找到一些有特点的人的时候,SELECT就是一个机器人一样可以根据这些特点快速的找到你要的人,或者如果你就是要找这10000人,它也可以全部给你找出来。它的任务就是找东西,就这么简单~
SQL基础知识:DISTINCT
以下示例数据库可以从网盘中获取
https://pan.baidu.com/s/1i7eVmap?_at_=1778177616657[#list](javascript:;)/path=%2F
SQL执行顺序
按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:
(8)SELECT (9)DISTINCT (11)
DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
DISTINCT语法
SELECT DISTINCT 列名称 FROM 表名称
使用 DISTINCT 关键词
我们先看看Orders表中的数据:
1 | SELECT * FROM Orders; |
如果要从 “客户ID” 列中选取所有的值,我们可以使用如下语句
1 | SELECT 客户IDFROM Orders |
结果:
如需从 “客户ID” 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:请注意,在结果集中,3 被列出了两次。
1 | SELECTDISTINCT 客户IDFROM Orders |
结果:
现在,在结果集中,3 仅被列出了一次。
批注
从上面的例子我们就可以清楚的看到DISTINCT的用法了,就是如果某个字段或某几个字段所对应的记录都重复了,使用它就可以只显示一条记录,它的作用简而言之就是为了去重。具体使用场景一般像我们要查询某张订单表里客户的编号,但是如果这个客户购买了很多产品,那就会产生很多相同的编号,这时候我们使用DISTINCT,就可以从订单表中只显示所有不重复的客户编号,就这么个意思~
SQL执行顺序
按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:
(8)SELECT (9)DISTINCT (11)<top** **Num>
TOP 子句定义
TOP 子句用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。
SQL Server TOP 的语法
SELECT TOP number|percent columns
FROM table_name
MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
MySQL 语法
SELECT columns
FROM table_name LIMIT number
例子
1 | SELECT * FROM Customers LIMIT5 |
Oracle 语法
SELECT columns
FROM table_name
WHERE ROWNUM <= number
例子
1 | SELECT * FROM Customers |
原始的表 (用在例子中的)Customers表:
TOP 实例
现在,我们希望从上面的 “Customers” 表中选取头两条记录。
我们可以使用下面的 SELECT 语句:
1 | SELECT TOP 2 * FROM Customers |
结果:
** **
TOP PERCENT 实例
现在,我们希望从上面的 “Customers” 表中选取 50% 的记录。
我们可以使用下面的 SELECT 语句:
1 | SELECT TOP 50PERCENT * |
结果:
注释:因为总记录数只有5条,总条数的50%只能取到2.5条,但是条数只有整数条,这是不符合常理的,所有结果会自动向上取整,显示3条。
批注
TOP主要用在对查询结果进行分页,这样可以减少显示的数据量,提高查询效率。后面接数字则显示指定的条数,后面接百分数则显示总体数据的百分比。一般与ORDER BY结合使用。



