SQL必知必会 第二课 笔记

时间:2022-06-01 14:13:51
2 课 检索数据
为了使用 SELECT 检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
2.2 检索单个列
输入▼
SELECT prod_name
FROM Products;
        上述语句利用SELECT语句从Products表中检索一个名为prod_name的列。所需的列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。
提示:如果没有明确排序查询结果,则返回的数据没有特定的顺序。
提示:结束SQL语句——多条SQL语句必须以分号(;)分隔。
提示:使用空格——在处理SQL语句时,其中所有空格都被忽略。
提示:SQL语句不区分大小写,

2.3 检索多个列
       仍然使用相同的SELECT语句。唯一的不同是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。但最后一个列名后不加逗号,如果在最后一个列名后加了逗号,将出现错误。
输入▼
SELECT prod_name,prod_id,prod_price
FROM Products;
2.4 检索所有列
输入▼
SELECT *
FROM Products;
2.5 检索不同的值
       SELECT语句返回所有匹配的行。但是,如果你不希望每个值每次都出现,该怎么办呢?例如,你想检索products表中所有产品供应商的ID:
输入▼
SELECT vend_id
FROM Products;
输出▼
vend_id
---------
BRS01
BRS01
DLL01
DLL01
DLL01
DLL01
FNG01
FNG01
如上,SELECT语句返回8行(即使表中只有3个产品供应商),
输入▼
SELECT DISTINCT vend_id
FROM Products;
输出▼
vend_id
---------
BRS01
DLL01
FNG01
警告:不能部分使用DISTINCT
        DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定SELECT DISTINCT vend_id, prod_price,除非指定的两列完全相同,否则所有的行都会被检索出来。

2.6 限制结果
       如果你只想返回第一行或者一定数量的行,该怎么办呢?这是可行的,然而遗憾的
是,各种数据库中的这一SQL实现并不相同。

2.7 使用注释
目的:1)这些注释需要嵌入在SQL脚本中,但显然不能进行实际的DBMS处理。
           2)是暂时停止要执行的SQL代码。如果你碰到一个长SQL语句,而只想测试它的一部分,那么
              应该注释掉一些代码,以便MariaDB将其视为注释而加以忽略
输入▼
SELECT prod_name -- 这是一条注释
FROM Products; 

# 这是一条注释
SELECT prod_name
FROM Products;
多行注释:
/* SELECT prod_name, vend_id
FROM Products; */   注释从/*开始,到*/结束,/*和*/之间的任何内容都是注释。
SELECT prod_name