sql语句重要基础知识

Table of Contents

Distinct

like

别名

UNION

视图

sql当中的一些函数

on和where的区别

 


Distinct

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。其语法如下:

SELECT DISTINCT column_name,column_name
FROM table_name;

假设有如下的数据位于表websites当中:

| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

执行的sql语句如下:

SELECT DISTINCT country FROM Websites;

则返回的结果集为:

 

like

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。语法如下:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

在 SQL 中,通配符与 SQL LIKE 操作符一起使用。可使用以下通配符:

%替代 0 个或多个字符
_替代一个字符
[charlist]字符列中的任何单一字符
[^charlist]

[!charlist]
不在字符列中的任何单一字符

别名

通过使用 SQL,可以为表名称或列名称指定别名。

基本上,创建别名是为了让列名称的可读性更强。

列的 SQL 别名语法如下:

SELECT column_name AS alias_name
FROM table_name;

表的 SQL 别名语法如下:

SELECT column_name(s)
FROM table_name AS alias_name;

UNION

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

但有一点需要注意的是,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值

 

视图

定义:视图是可视化的表,是从一个或多个表导出的虚拟的表,其内容由查询语句定义。问题:什么叫可视化的表?可视化指的是什么

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。

创建一个视图的语句如下:

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

视图的主要作用如下:

1.简化操作。

一个比较常见的做法是把经常使用的数据集定义为视图。例如:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view即可,无需每次都去写复杂的查询,很方便。 

2.安全性。

用户只能查询和修改能看到的数据,因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图不可以随意的更改和删除,可以保证数据的安全性。 

3.逻辑上的独立性,屏蔽了真实表的结构带来的影响。

视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

sql当中的一些函数

AVG() 函数返回数值列的平均值。

SELECT AVG(column_name) FROM table_name

COUNT() 函数返回匹配指定条件的行数。

其中COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_name;

COUNT(*) 函数返回整个表中的记录数:

SELECT COUNT(*) FROM table_name;

MAX() 函数返回指定列的最大值。

SELECT MAX(column_name) FROM table_name;

MIN() 函数返回指定列的最小值

SELECT MIN(column_name) FROM table_name;

SUM() 函数返回数值列的总数,即查询的那一列所有值的和。

SELECT SUM(column_name) FROM table_name;

LEN() 函数返回文本字段中值的长度。其语法如下:

SELECT LEN(column_name) FROM table_name;

on和where的区别

参考:https://blog.csdn.net/q3838418/article/details/78880269

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值