SQL_查询基础_SELECT语句基础

学习要点

  • 使用select语句从表中选取数据
  • 为列设置显示用的列名
  • select语句中可以使用常数或者表达式
  • 通过制定distinct可以删除重复的行
  • SQL语句可以使用注释
  • 可以通过where语句从表中选取符合查询条件的数据

列的查询

  从表中选取数据时需要时用select语句,通过select语句查询并选取出 必要的数据的过程称为匹配查询或查询(Query)。select语句是SQL中最基本也是使用最频繁的语句,掌握了select语句就离掌握SQL语句不远了!
基本语法:

SELECT <列名>,...
FROM <表名>;

该语句包含了select和from两个子句。子句是SQL语句的组成要素,select子句中列举了希望从表中查询的列的名称,而from则指定了选取出数据的表名。
接下来我们尝试从之product表中查询出,product_id、product_name和product_price。

SELECT product_id,product_name,purchase_price 
FROM product;

结果如下:
在这里插入图片描述
可以看到,在第一行的select一整行就是select子句,查询列顺序是可以自己随意的,查询多列时需要使用半角逗号进行分隔,查询结果中列的顺序和select子句中的顺序相同。

查询表中所有的列

    当我们需要查询出所有的列的时候我们可以使用代表所有列的星号(*)。语法如下:

SELECT * 
FROM  <表名>;

例如我们要查询product表中所有的列,则SQL语句如下:

select * 
from product;
//当然还可以把星号换成所有的列名
select product_id,product_name,product_type,sale_price,purchase_price,regist_date
from product;

在这里插入图片描述
可以看到,两条查询结果完全一样,也就是说这两条语句具有相同的意义。但是,当我们使用了星号时,就不能去设定列的显示顺序,此时就会按照定义表时的顺序进来显示。

为列设定别名

SQL语句可以使用AS关键字为列设定别名,语句如下:

SELECT  product_id AS id,
		product_name AS name,
		purchase_price AS price
FROM product;

执行结果
在这里插入图片描述
别名可以使用中文,使用时需要使用双引号(""),例如:

SELECT  product_id     AS "商品编号",
		product_name   AS "商品名称",
		purchase_price AS "商品价格"
FROM product;

结果如下:
在这里插入图片描述
同时,我们还可以为表名设置别名,语法如下:

SELECT <列名1>,<列名2>,...  FROM <表名> [AS] 表的别名 WHERE ....

常数的查询

SELECT子句中不仅可以写列名,还可以写常数。如下示例:

SELECT '商品' AS string ,38 AS number,'2019-09-21' AS date ,product_id,product_name
FROM product;

执行结果:
在这里插入图片描述
除此之外,还可以写计算式,我们将会在后面的文章进行学习。

从结果中删除重复行

当我们的数据表中的数据存在重复时,又想将其删除掉,但是一行一行删又觉得麻烦,那我们就来学习一个新的关键字DISTINCT,为了使输出减到最少,增加关键字 DISTINCT(不同的)检索出每个唯一的输出记录。如下示例:

SELECT DISTINCT product_type FROM product;

在这里插入图片描述
在使用DISTINCT 关键字,NULL也会被视为一类数据,NULL存在于多行中时,也会被合并为同一条数据,例如:

SELECT DISTINCT purchase_price FROM product;

执行后在这里插入图片描述执行前在这里插入图片描述
当DISTINCT 关键字在多列中使用时,就会把同时满足两列数据都重复的合并为一条,再将结果查询出来,但需要注意的是 DISTINCT 关键字只能用在第一个列名之前 如下示例:

SELECT DISTINCT  product_type,regist_date FROM product;

查询结果在去重复的前后对比,可以看到同为“厨房用具”且时间为’2019-09-20’的数据被合并为一条了,达到了去重的目的。
在这里插入图片描述在这里插入图片描述

根据WHERE语句来选择记录

在前面的示例当中,表中所有的数据都被选取了出来,,但大部分情况甚至在实际使用中,我们是不需要每次查询都选取全部数据,更多的是是需要满足一定条件的数据,而SELECT语句通过关键字WHERE子句来指定查询数据的条件,在WHERE子句中可以指定“某一列的值等于某个字符串或数值”等条件,当执行了这些含有条件的语句,就能得到符合该条件的记录了。语法如下:

SELECT <列名>,...
FROM <表名>
WHERE <条件表达式>;

如下图,我们来选取product_type为衣服的记录,为了方便理解,我们将商品名字也查询出来。语句如下:
在这里插入图片描述

SELECT product_type,product_name FROM product WHERE product_type='衣服';

结果如下:
在这里插入图片描述
在上面的SQL语句中,product_type='衣服’就是WHERE 子句的条件表达式,它判断product_type列的数据是否和’衣服’相等,它的执行顺序是先通过WHERE子句查询出符合指定条件的记录,然后再选取出SELECT指定的列。
这是比较简单的where条件查询语句,在后面我们将会学习到更多的条件查询语句。需要我们注意的是,SQL中,子句的顺序是固定的,不能更改其固定的位置。WHERE子句必须紧跟在FROM 子句之后。

注释的写法

注释是SQL语句中用来标识或者注意事项的部分,注释对SQL的执行毫无影响,而注释的写法主要由如下两种。

-- 这是一行注释的写法
-- select * from product;
/*
这是
多行
注释的写法
*/
/*SELECT product_id AS "商品编号",
product_name AS "商品名称",
purchase_price AS "商品价格"
FROM product;*/

我们都知道,在写代码的时候,给它写上注释是一个优美的编码习惯。但似乎所有的程序员都是希望在接手别人的代码时有写注释,但是自己的代码基本上不想写甚至不写注释。
其实,在代码比较多而复杂的时候,写注释能够更加清晰明了的读懂它!
害!就这样吧!就到这里吧!
在这里插入图片描述
未完继续…

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页