欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL_查询基础_SELECT语句基础

程序员文章站 2022-06-21 10:36:36
SELECT语句基础学习要点列的查询查询表中所有的列为列设定别名常数的查询从结果中删除重复行根据WHERE语句来选择记录注释的写法学习要点使用select语句从表中选取数据为列设置显示用的列名select语句中可以使用常数或者表达式通过制定distinct可以删除重复的行SQL语句可以使用注解可以通过where语句从表中选取符合查询条件的数据列的查询从表中选取数据时需要时用select语句,通过select语句查询并选取出 必要的数据的过程称为匹配查询或查询(Q...

学习要点

  • 使用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;

结果如下:
SQL_查询基础_SELECT语句基础
可以看到,在第一行的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_查询基础_SELECT语句基础
可以看到,两条查询结果完全一样,也就是说这两条语句具有相同的意义。但是,当我们使用了星号时,就不能去设定列的显示顺序,此时就会按照定义表时的顺序进来显示。

为列设定别名

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

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

执行结果
SQL_查询基础_SELECT语句基础
别名可以使用中文,使用时需要使用双引号(""),例如:

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

结果如下:
SQL_查询基础_SELECT语句基础
同时,我们还可以为表名设置别名,语法如下:

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

常数的查询

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

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

执行结果:
SQL_查询基础_SELECT语句基础
除此之外,还可以写计算式,我们将会在后面的文章进行学习。

从结果中删除重复行

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

SELECT DISTINCT product_type FROM product;

SQL_查询基础_SELECT语句基础
在使用DISTINCT 关键字,NULL也会被视为一类数据,NULL存在于多行中时,也会被合并为同一条数据,例如:

SELECT DISTINCT purchase_price FROM product;

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

SELECT DISTINCT  product_type,regist_date FROM product;

查询结果在去重复的前后对比,可以看到同为“厨房用具”且时间为’2019-09-20’的数据被合并为一条了,达到了去重的目的。
SQL_查询基础_SELECT语句基础SQL_查询基础_SELECT语句基础

根据WHERE语句来选择记录

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

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

如下图,我们来选取product_type为衣服的记录,为了方便理解,我们将商品名字也查询出来。语句如下:
SQL_查询基础_SELECT语句基础

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

结果如下:
SQL_查询基础_SELECT语句基础
在上面的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;*/

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

本文地址:https://blog.csdn.net/weixin_44216392/article/details/107674177

相关标签: SQL研习录