Table of Contents
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