使用到的sql数据库:http://download.csdn.net/download/qq_28657369/9967680
1.常用函数
1.查询字段的结果转换为小写lower()
select lower(user_password) from jdbc_user
2.查询字段的结果转换为大写upper()
select upper(user_password) from jdbc_user
3.连接查询的两个字段的值concat()
select concat(user_password,user_name) from jdbc_user
4.连接两个字段 ||
select user_password||user_name from jdbc_user
5.字段值的长度 length()
select lenght(user_password) from jdbc_user
6.对查询出来的字段的值进行截取 substr()
select substr(user_password,1,3) from jdbc_user —-substr(字段,起始值,终止值)(从1开始)
2.分组函数
1.平均值 avg()
select avg(sal) from emp
2.分组 group by
select deptno from emp group by deptno
3.having 进行过滤
select deptno from emp group by deptno having avg(sal)>2000 order by empno—(必须要having 不能用where)
4.子查询(子查询查询出来的结果是一张表,是临时表)
select sal from emp where sal >=(select avg(sal) from emp)
select * from (select * from emp) as d
select * from emp where empno in(select empno from emp where empno=7369 or empno=7521)
5.连表查询
select e.*,d.dname from emp e,dept d where d.deptno=e.deptno(92语法)
select e.*,d.dname from emp e inner join dept d on d.deptno=e.deptno(99语法 用on不用where)(inner join 进行连表)(两边都有(共同)的查询出来)
select e.*,d.dname from emp e left join dept d on d.deptno=e.deptno(left join 左边有结果全部查询出来)
select e.*,d.dname from emp e right join dept d on d.deptno=e.deptno(right join 右边有结果的全部查询出来)
6.分页查询 limit
select * from emp limit 1,5(第一个参数是起始位置,从0算起,第二个参数是查询多少条)
3.日期函数
now()————返回当前的日期和时间
curdate()——–返回当前的日期
curtime()——–返回当前的时间
date()————提取日期或日期/时间表达式的日期部分
extract()———返回日期/时间按的单独部分
date-add()——给日期添加指定的时间间隔
date-sub()——从日期减去指定的时间间隔
datediff()——–返回两个日期之间的天数
date-format()—用不同的格式显示日期/时间
日期格式
date——-格式 YYYY–MM–DD
datetime-格式 YYYY–MM–DD HH:MM:SS
timestamp–YYYY–MM–DD HH:MM:SS
year——-YYYY或YY
常识
在SQL查询中:from后最多可以跟多少张表或视图:256
在SQL语句中出现Order by 查询时,先查询,后取
在SQL中,一个字段的最大容量是8000,而navarchar(4000),由于nvarchar是Unicode码