MySQL查询语句
1、条件查询使用where语句,运算符如下所示:
2、字段可以参与数学运算,比如查询员工的年薪
MariaDB [powernode]> select ENAME ,SAL*12 from EMP;
给查询的结果重命名,中文要加单引号,用as关键字:
MariaDB [powernode]> select ENAME ,SAL*12 as '年薪' from EMP;
as关键字可以省略:
MariaDB [powernode]> select ENAME,EMPNO,SAL*12 yearsal from EMP;
3、查询SMITH的工资:
MariaDB [powernode]> select SAL from EMP where ENAME = 'SMITH' ;
4、找出工资高于3000的员工:
MariaDB [powernode]> select ENAME,SAL from EMP where SAL > 3000;
找出工资不等于3000的员工:
MariaDB [powernode]> select ENAME,SAL from EMP where SAL != 3000;
找出工资在1100到3000之间的员工,包括1100和3000;
MariaDB [powernode]> select ENAME,SAL from EMP where SAL>=1100 and SAL<=3000;
MariaDB [powernode]> select ENAME,SAL from EMP where SAL between 1100 and 3000;
between and还可以使用在字符串上面,例如查出名字在A与C之间的员工(左闭右开,所以右边是D,这个很少用):
MariaDB [powernode]> select ENAME from EMP where ENAME between 'A' and 'D';
6、查出哪些人没有津贴:(空值null和COMM值为0不一样,要区别开!)
MariaDB [powernode]> select ENAME,SAL,COMM from EMP where COMM = 0 or COMM is null;
7、and和or要区别开,如找出薪资大于1000的并且部门编号是20或30部门的员工(运算符的优先级不确定时加小括号):
MariaDB [powernode]> select ENAME,SAL,DEPTNO from EMP where SAL>1000 and (DEPTNO = 20 or DEPTNO=30);
8、in等同于or:找出工作岗位是MANAGER和SALESMAN的员工
MariaDB [powernode]> select ENAME,JOB from EMP where JOB in('SALESMAN','MANAGER');
找出工资为800和5000的员工:
MariaDB [powernode]> select ENAME,SAL from EMP where SAL in(800,5000);
not in 不在这些值中:
MariaDB [powernode]> select ENAME,SAL from EMP where SAL not in(800,5000);
9、找出名字含有C或者首字母为C的员工(_代表一个字符,%代表多个字符,)
若查询名字含有_的员工,要用转义符号,模仿格式,如:
MariaDB [powernode]> select name from EMP where name like '%\_%';