当前位置:Gxlcms > 数据库问题 > SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释

SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释

时间:2021-07-01 10:21:17 帮助过:3人阅读

SELECT prod_name FROM Products; 输出: prod_name ------------------- Fish bean bag toy Bird bean bag toy Rabbit bean bag toy 8 inch teddy bear 12 inch teddy bear 18 inch teddy bear Raggedy Ann King doll Queen doll 分析:上述语句利用SELECT语句从Products表中检索一个名为prod_name的列。所需的列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。 注意:检索出来的数据是未排序的,因为没有明确排序查询结果;           多条SQL语句用分号隔开;   在处理SQL语句时,其中的所有空格都会被忽略;包括回车符;SQL语句仅以分号结束   检索多列
输入:
SELECT prod_id, prod_name, prod_price
FROM Products;
输出:
prod_id       prod_name                prod_price
---------     --------------------     ----------
BNBG01        Fish bean bag toy        3.4900
BNBG02        Bird bean bag toy        3.4900
BNBG03        Rabbit bean bag toy      3.4900
BR01          8 inch teddy bear        5.9900
BR02          12 inch teddy bear       8.9900
BR03          18 inch teddy bear       11.9900
RGAN01        Raggedy Ann              4.9900
RYL01         King doll                9.4900
RYL02         Queen dool               9.4900
检索所有列
SELECT *
FROM Products;
警告:使用通配符
一般而言,除非你确实需要表中的每一列,否则最好别使用*通配符。虽然使用通配符能让你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
提示:检索未知列 使用通配符有一个大优点。由于不明确指定列名(因为星号检索每一列),所以能检索出名字未知的列。   2.2   检索不同的值 即只显示不同的值,相同的只显示一次; 关键字:DISTINCT 如:
输入:
SELECT vend_id
FROM Products;
输出:
vend_id
----------
BRS01
BRS01
BRS01
DLL01
DLL01
DLL01
DLL01
FNG01
FNG01
而:
输入:
SELECT DISTINCT vend_id
FROM Products;
输出:
+---------+
| vend_id |
+---------+
| BRS01   |
| DLL01   |
| FNG01   |
+---------+
3 rows in set (0.00 sec)
分析: SELECT DISTINCT vend_id告诉DBMS只返回不同(具有唯一性)的vend_id行,所以正如下面的输出,只有3行。如果使用DISTINCT关键字,它必须直接放在列名的前面。   注意:不能部分使用DISTINCT DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定SELECT DISTINCT vend_id, prod_price,除非指定的两列完全相同,否则所有的行都会被检索出来。   2.3   限制结果 SELECT语句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定数量的行,该怎么办呢?这是可行的,但是在各种DBMS中不一样 在MySQL、MariaDB、PostgreSQL或者SQLite,需要使用LIMIT 子句,像这样:
输入:
SELECT prod_name
FROM Products
LIMIT 5;
输出:
prod_name
-----------------
8 inch teddy bear
12 inch teddy bear
18 inch teddy bear
Fish bean bag toy
Bird bean bag toy
分析▼ 上述代码使用SELECT语句来检索单独的一列数据。LIMIT 5指示MySQL等DBMS返回不超过5行的数据.     如果想得到后面5行的数据,像这样:
输入:
SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
输出:
prod_name
-------------------
Rabbit bean bag toy
Raggedy Ann
King doll
Queen doll
分析▼ LIMIT 5 OFFSET 5指示MySQL等DBMS返回从第5行起的5行数据。第一个数字是指从哪儿开始,第二个数字是检索的行数。 所以,LIMIT指定返回的行数。带OFFSET的LIMIT指定从哪儿开始。   注意:第0行 第一个被检索的行是第0行,而不是第1行。因此,LIMIT 1 OFFSET 1会检索第2行,而不是第1行。   提示:MySQL和MariaDB快捷键 MySQL和MariaDB支持简化版的LIMIT 4 OFFSET 3语句,即LIMIT 3,4。使用这个语法,,之前的值对应LIMIT, ,之后的值对应OFFSET。     2.4   使用注释
SELECT prod_name    -- 这是一条注释
FROM Products;
分析▼ 注释使用-- (两个连字符)嵌在行内。-- 之后的文本就是注释,例如,这用来描述CREATE TABLE语句中的列就很不错。  
多行注释
/* SELECT prod_name, vend_id
FROM Products; */
SELECT prod_name
FROM Products;

 

注释从/*开始,到*/结束,/*和*/之间的任何内容都是注释。这种方式常用于给代码加注释,就如这个例子演示的,这里定义了两个SELECT语句,但是第一个不会执行,因为它已经被注释掉了。

SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释

标签:

人气教程排行