SQL之连接查询
1-左外连接:以左表为基准进行查询,左表数据全部显示,右表显示与左表匹配的字段。若不匹配,则为null。
2-右外连接:以右表为基准进行查询,右表数据全部显示,左表显示与右表匹配的字段。若不匹配,则为null。
3-全连接:先以左表左外连接,再以右表右外连接。
4-内连接:表之间有连接匹配的所有行。
SQL之聚合函数
对两组值计算返回单一值的函数:
select .... group by ....
avg,count,max,min,sum
执行顺序:
from--->where--->group by---->having---->表达式---->order by---->select输出
SQL之sql注入
select admin from user where username='admin' or 'a'='a' and password='' or 'a'='a'
防止SQL注入,使用预编译语句是预防SQL注入的最佳方式。
select admin from user where username=? and password=?
变量用?来表示。
注意:MyBatis的mapper中,#能防止SQL注入,$无法防止SQL注入。
存储过程,优点:
1、存储过程是一组预编译的SQL语句。
2、优点:
a)更快执行,只在创造时编译
b)重复调用
c)减少流量
d)安全机制