Java教程

SQL高级语法操作记录

本文主要是介绍SQL高级语法操作记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

WHERE子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。

 

 

 如果想在 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。使用主键来作为 WHERE 子句的条件查询是非常快速的。

如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。

 

当需要多条件才能确定数据时,可使用AND或者OR运算符来确定数据

在WHERE子句中字符串比较查询是不区分大小写的。若想进行大小写区分可使用BINARY关键字

LIKE操作符

SQL LIKE 子句中使用百分号(%)字符来表示任意字符,类似于UNIX或正则表达式中的星号 (*)。如果没有使用百分号(%), LIKE 子句与等号(=)的效果是一样的。

LIKE子句需要编写在WHERE子句中。

表达式 LIKE   pattern

通配符(pattern)

在 SQL 中,通配符与 LIKE 操作符一起使用。SQL 通配符用于搜索表中的数据。在 SQL 中,可使用以下通配符:

 

 ORDER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序(ASC)对记录进行排序。如果需要按照降序对记录进行排序,可以使用 DESC 关键字

 可支持多字段同时排序,但 DESC或者 ASC 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

 

 IN 操作符

IN 操作符允许在 WHERE 子句中规定多个值。IN运算符是一个逻辑运算符,用于将值与一组值进行比较。 如果值在值集内,则IN运算符返回true。否则,它返回false或unknown。

expression   IN  (value1,value2,...)

 子查询

子查询(subquery)是嵌套在另一个查询中的查询,例如:SELECT,INSERT,UPDATE或DELETE语句。放在括号内的查询称为子查询,它也称为内部查询或内部选择。 包含子查询的查询称为外部查询或外部选择。

可以在许多地方使用子查询,例如:

① 使用IN或NOT IN运算符

表达式 IN/NOT IN (subquery)

② 比较运算中

表达式 =/>/=/<=/<>/!= (subquery)

③ 使用EXISTS或NOT EXISTS运算符

表达式 EXISTS/ NOT EXISTS (subquery)

④ 使用ANY或ALL运算符

表达式 ANY/ALL(subquery)

⑤ 在FROM子句中 

 BETWEEN 操作符

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。BETWEEN运算符是逻辑运算符。 它返回true,false或unknown值。 BETWEEN运算符用于SELECT,UPDATE或DELETE语句中以查找范围内的值。

以下说明了BETWEEN运算符的语法:

expression BETWEEN  low  AND high;

在上面语法中,

表达式是在低和高定义的范围内测试的表达式。

low和high可以是表达式或文字值,要求low的值小于high的值。

如果表达式大于或等于(>=)low值且小于或等于(<=)high值,则BETWEEN运算符返回true。

 连接(JOIN)

SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段

别名

SQL别名用于在执行查询期间为表或列分配临时名称。 有两种类型的别名:表别名和列别名

连接类型

INNER JOIN(内连):如果表中有至少一个匹配,则返回行

 

 LEFT JOIN(左连):即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

 

  

UNION 操作符

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

请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个SELECT 语句中的列的顺序必须相同。数据库系统首先执行两个SELECT语句来处理查询。然后,它将两个单独的结果集合并为一个,并消除重复的行。 为了消除重复的行,数据库系统对每列的组合结果进行排序,并扫描它以查找彼此相邻的匹配行。

要保留结果集中的重复行,请使用UNION ALL运算符

假设我们有两个结果集A(1,2)和B(2,3)。 下图说明了A UNION B结果:

 

以下图片说明了A UNION ALL B的结果:

 

 

 GROUP BY 语句

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。分组是使用数据库时必须处理的最重要任务之一。 要将行分组,请使用GROUP BY子句。GROUP BY子句是SELECT语句的可选子句,它根据指定列中的匹配值将行组合成组,每组返回一行。

经常将GROUP BY与MIN,MAX,AVG,SUM或COUNT等聚合函数结合使用,以计算为每个分组提供信息的度量。

SELECT   column1, column2,聚合函数(column3)  FROM   table  GROUP BY   column1,column2;

 

这篇关于SQL高级语法操作记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!