1、简单查询数据
select */ 具体的列名、 别名 from 表名;
查询全部:
select * from dept;
查询返回指定的列:
select deptid,deptname from dept;
查询返回带别名的列:
select deptid as ID,deptname as deptName from dept;
查询去掉重复项
select distinct emp.empaddress from emp;
限定查询:
select distinct * /具体列名、别名 from 表名 where (条件)
select * from emp where emp.empage >20;
select * from emp where emp.empaddressis null;
select * from emp where emp.empage >20 and emp.empaddress = '湖北';
查询年龄不大于20,且员工地址不为湖北的雇员信息(注意or)
select * from emp where not (emp.empage > 20 oremp.empaddress = '湖北');
查询年龄在20岁到23岁之间的雇员信息
select * from emp where emp.empage between 20 and 23;
查询入职日期在2012-3-1日之后的元素(日期要用单引号)
select * from emp where emp.empjoin > '2012-3-1';
查询员工编号为1,2,3号的员工(in()、not in())
select * from emp where emp.empid in (1,2,3);
select * from emp where emp.empid not in (1,2,3);
select * from emp where emp.empname in ('小明');
sql中模糊查询使用关键字like:
Like主要使用以下两种通配符:
|-“%”可以匹配任意长度内容
|- “_”可以匹配一个长度内容
名字最后一个字为”威“
select* from emp where emp.empname like '%威';
名字中间为”威“
select * from emp where emp.empname like '%威%';
名字第二个字为”威“
select * from emp where emp.empname like '_威%';
查询2011年入职的员工
select * from emp where emp.empjoin like '%2014%';
ps:
在操作条件中还可以使用 >、>=、<、<= 等条件符号
不等于在sql中可有两种形式:”<>”、“!=”
2、对查询结果进行排序
SELECT {DISTINCT} * | 具体列名 别名
FROM 表名
{WHERE 条件(s)}
{order by } 排序的字段1,排序的字段2 … ASC/DESC ASC表示升序、DESC表示降序
要求员工年龄由低到高排序
select * from emp order by emp.empage asc;
按两个字段排序,以前一字段为第一基准
select * from emp order by emp.empage asc,emp.empiddesc;