MySql基础查询,where查询,排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hekai7217/article/details/81262527

简单查询 查询一张数据表的所有数据行的内容。

简单查询 语法1:
SELECT [DISTINCT] * from 表名
语法2:
SELECT [DISTINCT] 列名 [AS] “别名”,列名 别名… FROM 表名;
表和列都可以去别名

查询emp表的所有数据,即所有行和所有列的数据。
select * from emp;

查询 emp表的员工编号、姓名、职位、薪资
select EMPNO,ENAME,JOB,sal from emp;

查询 emp表的员工编号、姓名、职位、薪资。结果标题希望显示的是
编号、姓名、职位、薪资,则:
select EMPNO ‘员工编号’,ENAME ‘姓名’,JOB ‘职位’,sal ‘薪资’ from emp;

查询 emp 表的所有职位信息:
select distinct job from emp;

四则运算
select ENAME,sal * 12 ‘年薪’ from emp;

条件查询 where

语法:
SELECT [DISTINCT] 列名 [[AS] 别名]
FROM 表名 [表别名]
[WHERE 条件]

关系运算符

查询emp表中,基本工资高于1500的雇员的所有信息
select * from emp
where sal > 1500;
查询emp表中,名字叫做 SCOTT 的雇员的所有信息
select * from emp
where ename = ‘SCOTT’;

逻辑运算符 AND OR NOT

查询emp表中,基本工资在 1200~2500之间 的雇员的所有信息
select * from emp
where SAL > 1200 and SAL < 2500;
查询emp表中,基本工资大于3000,或者职位是办事员CLERK 的雇员的所有信息
select * from emp
where SAL > 3000 or JOB = ‘CLERK’;

区间范围 运算符 BETween …and

查询emp表中,基本工资在 1200~2500之间 的雇员的所有信息
select * from emp
where SAL between 1500 and 2500;

空判断 运算符 is null

查询emp表中,所有佣金 COMM 为空的雇员信息(没有提层的雇员)。
select * from emp where COMM is null ;

等值)范围 运算符in not

查询emp表中,编号是7844 或是 9999 或是 7566 的雇员信息。
select * from emp
where EMPNO in (7844,9999,7566);

模糊查询 运算符(涉及到的通配符有:_ 匹配一个位置、% 可以匹配多个位置)

查询emp表中,雇员姓名以 A 字符开头的雇员信息
select * from emp
where ENAME like ‘A%’;
查询emp表中,雇员姓名的第二位字符是 A 的雇员信息
select * from emp
where ENAME like ‘_A%’;
查询emp表中,雇员姓名中包含 A 字符的雇员信息
select * from emp
where ENAME like ‘%A%’;

序查询(查询排序)

语法:
SELECT [DISTINCT] 列名 [[AS] 别名]
FROM 表名 [表别名]
[WHERE 条件]
[ORDER BY 列名 [ASC|DESC]]

asc 默认升序

desc 降序

查询所有雇员信息,按照薪资从低到高排序(升序):
select * from emp
order by SAL asc ; 升序

select * from emp
order by SAL desc ; 降序

查询所有雇员信息,按照入职时间,从早到晚(升序)排序,如果入职时间相同,则按照薪资从高到低(降序)排序:
select * from emp
order by HIREDATE asc,sal desc;

猜你喜欢

转载自blog.csdn.net/hekai7217/article/details/81262527
今日推荐