一些常用的sql关键字。
一、AND 与 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
1.1 AND 运算符实例
使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
1.2 OR 运算符实例
使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:
SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
1.3 结合 AND 和 OR 运算符
OR要加()
OR要加()
OR要加()
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
二、DISTINCT
DISTINCT 用于返回唯一不同的值。
在统计数据量时,使用distinct可以提高查询效率
DISTINCT 语法
SELECT DISTINCT 列名称 FROM 表名称
三、JOIN 与 LEFT JOIN 与 RIGHT JOIN
JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行(右表可以允许出现重复行,左表不可)。
RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行(左表可以允许出现重复行,右表不可)。
3.1 JOIN 运算符实例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
3.2 LEFT JOIN 语法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。
3.3 RIGHT JOIN 语法
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。
四、UNION 与 UNION ALL
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
4.1 UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
4.2 UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
五、FROM_UNIXTIME
FROM_UNIXTIME 语法
SELECT FROM_UNIXTIME(TIME_STAMP/1000,'%Y-%m-%d %H:%i:%s') FROM table
六、查询条件
6.1 年份
YEAR ( FROM_UNIXTIME( TIME_STAMP / 1000 ) ) = 2018
6.2 季度
QUARTER ( FROM_UNIXTIME( TIME_STAMP / 1000 ) ) = 1
七、IN
IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
注意:在com.baomidou.mybatisplus中使用时,value的个数不能超过1000。