1.1.2 查询 加 条件 where select *from emp where emp_sal>5000; select *from emp where emp_bir>'1995-01-01'; 1.2 AS AS子句作为别名,把经过计算或总结的结果用另外一个新名词来代替,as也可省略不写。 //查询指定的列,可用as其别名,as 可以省略 select emp_name as 姓名,emp_sal 薪资 from emp; 1.3 distinct 关键字 去除重复 ALL 去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同),只返回一条 select distinct emp_sal from emp; //只查找薪资不一样的员工信息; all关键字是默认的,返回所有的记录,distinct与之相反。 1.4 like 模糊查询 select *from emp where emp_bir like '20%'; // %代表0-无数个字符; select*from emp where emp_bir like '201_'; // 下划线代表一位数; 1.5 in ( ), 在XXX内的 select*from emp where emp_id in(100001,100005,100007); 1.6 between a and b 在a和b之间。 等同与<=和>=; 1.7 查询条件为空或不为空的时候,不能使用等号,可以使用 is null,或者is not null; 1.8 order by 排序升序; select*from emp order by emp_sal; //由低到高排序 ,默认为asc select*from emp order by emp_sal desc ; //由高到底排序,desc 降序 1.9 分页查询 limit [m,]n limit n offset m 限制select返回结果的行数 m制定第一个返回记录行的偏移量,不指定返回偏移量为0; n制定返回记录行的最大数目 示例: select*from emp limit 3,8; //从第4条开始显示8条员工信息。 #MySQL语句中的注释符,也可以用/*---*/ 2.MySQL统计函数 1.count();返回满足select条件的记录总和数,如selectcount 2.sum();返回一列的总和; select sum(emp_sal) from emp; 3.avg(); 通常作为数值字段或表达列作统计,返回一列的平均值。 4.max(); 可以为数值字段、字符字段或表达式列作统计,返回最大的值。 5.min(); 可以为数值字段、字符字段或表达式列作统计,返回最小的值。 select max(emp_sal) 最大值,min(emp_sal) 最小值,avg(emp_sal) 平均值 form emp; 3.Group by 分组 对所有的数据进行分组统计,分组的一句字段可以有多个,兵一次分组。 与having(过滤分组的记录必须满足的次要条件)结合使用,进行分组后的数据筛选; select em p_sex 员工性别,count(*) 人数 from emp group by emp_sex; select emp_sex 员工性别,count(*) 人数 from emp having emp_sal>3000 group by emp_sex select dept_id,max(emp_sal) from emp group by dept_id having max (emp_sal)>5000; 4.多表关联查询方式; Inner内连接(innner join) ; 内连接查询方式。 //表的别名:emp e,dept d select e.emp_name,d.dept_name from emp e,dept d where e.dept_id=d.dept_id; left左外连接(Left join); 左边emp e表中返回所有的记录。 select e.emp_name,d.dept_id from emp e left joindept d on e.dept_id=d.dept_id; Right 右边连接(Right join);从右表 中返回所有的记录,即便在左()中没有匹配。 select e.emp_name,d.dept_id from emp r right jion dept d on e.dept_id=d.dept_id;
操作符名称 | 描述 |
INNERJOIN(JOIN) | 如果表中有至少一个匹配,则返回行 |
LEFTJOIN | 即使右表中没有匹配,也从左表中返回所有的行 |
RIGHTJOIN | 即使左表中没有匹配,也从右表中返回所有的行 |