SQL学习笔记——select语句(基本列的查询、设置列的别名、常数的查询、查询结果删除重复项、使用where)

select从表中选取数据时需要使用select语句,也就是只从表中选出(select)必要数据的意思。通过(select)语句查询并选取出必要数据的过程称为匹配查询或或查询(query)。

1、基本列的查询:

--查询一列或多列
select <列名>,<列名>,... 
from <表名>;
--查询全部的列
select * 
from <表名>;

查询多列时,需要使用逗号进行分隔,查询结果中列的顺序和select 子句中的顺序相同 。使用星号进行全部查询的话,就无法设定列的显示顺序,会按照表的顺序进行显示。

2、为列设置别名:

select <列名> as <别名>,<列名> as <别名>,... 
from <表名>;
--例子:
select student_id as id 
from student;
select student_id as "学号" 
from student;

为列设置别名是,使用as关键字。别名可以使用中文,中文需要用双引号(")括起来。

3、常数的查询:

select '商品' as string, 38 as number, '2009-02-24' as date,product_id, product_name
from product;

第1列'商品' 是 字符串常数 ,第2 列38 是 数字常数 ,第3 列'2009-02-24' 是 日期常数,将与product_id列和product_name 列一起被查询出来。结果如下:

+--------+--------+------------+------------+--------------+
| string | number | date       | product_id | product_name |
+--------+--------+------------+------------+--------------+
| 商品   |     38 | 2009-02-24 | 001        | T恤          |
| 商品   |     38 | 2009-02-24 | 0004       | 菜刀         |
| 商品   |     38 | 2009-02-24 | 0005       | 高压锅       |
| 商品   |     38 | 2009-02-24 | 0006       | 叉子         |
| 商品   |     38 | 2009-02-24 | 0007       | 擦菜板       |
| 商品   |     38 | 2009-02-24 | 0008       | 圆珠笔       |
+--------+--------+------------+------------+--------------+

4、查询结果删除重复项:

select distinct <列名> 
from <表名>;

示例:

--不删除重复项:
select product_type 
from product;
--查询结果:
+--------------+
| product_type |
+--------------+
| 衣服         |
| 厨房用具     |
| 厨房用具     |
| 厨房用具     |
| 厨房用具     |
| 办公用品     |
+--------------+


--删除重复项:
select distinct product_type 
from product;
--查询结果:
+--------------+
| product_type |
+--------------+
| 衣服         |
| 厨房用具     |
| 办公用品     |
+--------------+

distinct在使用时null也被视为一类数据。

distinct也可以在多列之前使用,只能写在第一个列之前。

select distinct <列名>,<列名>,... 
from <表名>;
--例子
select distinct type,color,...
from clothe;
--将type和color同时相同的查询记录合并为一条记录

5、使用where选择记录

 select 语句通 where子句 来指定查询数据的条件, 在where子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于 这个数字”等条件。where的位置是固定的,只能在from后面。

select <列名>,... 
from <表名> 
where <条件表达式>;

--例子1
select product_name,product_type 
from product 
where product_type='衣服';
--解释:选择product_type='衣服'的记录,只显示product_name,product_type两列

--例子2
select product_name
from product 
where product_type='衣服';
--解释:选择product_type='衣服'的记录,只显示product_name一列

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章