目录
普通查询查询全部列数据语法:
查询指定列数据语法:
为列指定别名语法:
去掉重复的值语法:
分页查询语法:
排序语法:
条件查询语法:
关系运算符
like模糊查询语法:
select * from 表名;
select - 表示查询哪些字段
from - 表示来自哪些表
* - 表示所有列
select *from emp;
select 列名1,列名2,……from 表名;
select sid,sname,sex,score from student;
查询emp表中,编号(empno),姓名(ename),职位(job),工资(sal),入职时间(hiredate)
select empno,ename,job,sal,hiredate from emp;
select 列名1 as 别名1,列名2 as 别名2,…… from 表名;
说明: as关键字可以省略。
select deptno as '部门编号',dname as '部门名称',loc as '部门地址' from dept;
select distinct 列名 from 表名;
例:查询emp表中,员工的职位(job),并去重显示
select distinct job from emp;
select */列名 from 表名 limit 初始位置,行数;
说明:初始位置是从哪行开始显示,一个可选值,默认值是0,
--行数是要查询的行数
select * from student limit 5;
查询student表中,从第3条记录开始到第10条记录
select * from student limit 2,8;
SELECT /列名 FROM 表名 ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC;
-- ASC升序(默认)
-- DESC 降序
-- 如果对多列进行排序的时候,首先排序第一列,第一列必须有相同列值,才会进行第二列排序
select empno,ename,job from emp order by empno asc;
查询emp表中,员工的编号,姓名,职位,工资、部门编号,首先根据部门编号升序排列,在根据员工编号降序排列
select empno,ename,job,sal,deptno from emp order by deptno asc,empno desc;
SELECT */列名 FROM 表名
WHERE 条件
ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC;
-- 条件可以包含关系运算符、逻辑运算符、特殊情况等
-- 是
-- 在几个选项之中
-- between and 在一定范围内
select empno,ename,sal,deptno from emp where deptno=30;
查询emp表中,工资大于2000的,员工的编号、姓名、职位、工资
select empno,ename,job,sal from emp where sal>2000;
查询emp表中工资在1000~5000之间的,员工的编号,姓名,工资
select empno,ename,sal from emp where sal>=1000 and sal<=5000;
查询emp表中,职位(job)是SALESMAN并且工资大于1250的,员工的编号,姓名,职位,工资,根据员工编号降序排列
select empno,ename,job,sal from emp where job='SALESMAN' and sal>1250 order by empno desc;
查询emp表中,工资大于2000或者部门编号是20号部门的,员工的编号,姓名,职位,工资,部门编号(deptno)
select empno,ename,job,sal,deptno from emp where sal>2000 or deptno=20;
查询emp表中,员工编号是7521,7654,7782,7900的员工信息
select * from emp where empno=7521 or empno=7654 or empno=7782 or empno=7900;
select* from emp where mgr is null;
查询emp表中,奖金不为空的(有奖金的),员工的编号,姓名,奖金
select empno,ename,comm from emp where comm is not null;
select * from emp where empno in(7499,7521,7782);
select empno,ename,sal from emp where sal between 1000 and 3000;
SELECT 列名 FROM 表名
WHERE 列名 LIKE 模糊条件
OEDER BY 列名1 ASC/DESC,列名2 ASC/DESC;
-- % 表示0个或多个任意字符
-- _表示任意一个字符
例:查询emp表中,员工的姓名,第1个字母是S的,员工的姓名、职位、工资
select ename,job,sal from emp where ename like 'S%';
查询emp表中,姓名的最后1个字母是N,员工的姓名、职位、工资
select ename,job,sal from emp where ename like '%N';