一、查询语法:
SELECT [DISTINCT | DISTINCTROW | ALL]
select_expression
,...
[FROM table_references
[WHERE where_definition ]
[GROUP BY col_name ,...]
[HAVING where_definition ]
[ORDER BY { unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name ]
]
[FROM table_references
[WHERE where_definition ]
[GROUP BY col_name ,...]
[HAVING where_definition ]
[ORDER BY { unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name ]
]
•
from
子句:指定查询数据的表
•
where
子句:查询数据的过滤条件
•
group by
子句
:
对匹配
where
子句的查询结果进行分组
•
having
子句
:
对分组后的结果进行条件限制
•
order by
子句
:
对查询结果结果进行排序,后面跟
desc
降序
或
asc
升序(默认)
。
•
limit
子句
:
对查询的显示结果限制数目
•
procedure
子句:查询存储过程返回的结果集数据
二、集函数 : SQL提供的统计函数称为集函数
–
记数函数:
count(
列名
)
计算元素的个数
–
求和函数:
sum(
列名
)
对某一列的值求和,但属性必须是整型
–
计算平均值:
avg
(
列名
)
对某一列的值计算平均值
–
求最大值:
max(
列名
)
找出某一列的最大值
–
求最小值:
min(
列名
)
找出某一列的最小值
三、谓词:在WHERE子句中使用谓词 :
BETWEEN AND :在两数之间
NOT BETWEEN AND :不在两数之间
IN <值表> :是否在特定的集合里(枚举)
NOT IN <值表> :与上面相反
LIKE :是否匹配于一个模式
S NULL(为空的)或 IS NOT NULL(不为空的)REGEXP: 检查一个值是否匹配一个常规表达式。
四、多表查询:
•
连接查询
–
同时涉及多个表的查询称为连接查询
–
用来连接两个表的条件称为连接条件
•
内连接
(
INNER JOIN
)
•
外连接
——左外联结 (LEFT JOIN)
——右外联结 (RIGHT JOIN)
外连接与普通连接的区别
–
普通连接操作只输出满足连接条件的元组
–
外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出:
五、子查询:
将一个查询块嵌套在另一个查询块的
WHERE
子句或
HAVING
短语的条件中的查询称为子查询。一个
SELECT-FROM-WHERE
语句称为一个查询块
六、复制表:创建副本- 通过在SELECT查询中指定字段来限制出现在附表中的字段-使用SELECT 语句创建已存在表的空副本,并且返回一个空结果集。