4、MySQL數據庫-簡單查詢

四、SQL-查詢

1.簡單查詢

1.1查詢單個字段
語法:select 查詢列表 from 表名;

#例子:查詢單個字段-查詢員工姓名
select ename from emp;
1.2查詢多個字段
#例子:查詢多個字段-查詢員工姓名和工資
select ename,sal from emp;
1.3查詢所有字段
select * from emp;
1.4查詢字段重命名-查詢員工姓名以中文顯示字段
#(1)使用as字段
select ename as '姓名' from emp;
#(2)使用空格
select ename '姓名' from emp;
1.5查詢不重複的記錄-查詢員工涉及到的部門編號有哪些?
select distinct depno from employees;

2.條件查詢

運算符 說明
= 等於
<>或!= 不等於
between … and …. 兩個值之間,等同於 >= and <=
is null 爲null(is not null 不爲空)
and 並且
or 或者
in 包含,相當於多個or(not in不在這個範圍中)
not not可以取非,主要用在is 或in中
like like稱爲模糊查詢,支持%或下劃線匹配%匹配任意個字符下劃線,一個下劃線只匹配一個字符
least 當有兩個或多個參數時,返回最小值
greatest 當有兩個或多個參數時,返回最大值
regexp 正則表達式匹配
2.1查詢工資等於5000的員工姓名
select ename from emp where sal = 5000;
2.2查詢薪水不等於5000的員工
select ename,sal from emp where sal <> 5000;
select ename,sal from emp where sal != 5000;
2.3查詢薪水爲1600到3000的員工
#between … and …
select empno, ename, sal from emp where sal between 1600 and 3000;
#>=和<=
select empno, ename, sal from emp where sal >= 1600 and sal <= 3000;
2.4查詢哪些人津貼爲NULL
select ename,sal,comm from emp where comm is null;
2.5查詢哪些人津貼不爲NULL
select ename,sal,comm from emp where comm is not null;
2.6查詢哪些人沒有津貼
select ename,sal,comm from emp where comm is null or comm = 0;
2.7查詢工作崗位爲MANAGER ,薪水大於2500的員工
select * from emp where job='MANAGER' and sal > 2500;
2.8查詢出job爲manager 或者 job爲salesman的員工
#or操作符
select * from emp where job='MANAGER' or job='SALESMAN';

#in操作符
select * from emp where job in ('manager','salesman');
2.9查詢出薪水包含1600和薪水包含3000的員工
select * from emp where sal in(1600, 3000);
2.10查詢出薪水不包含1600和薪水不包含3000的員工
#<>、and操作符
select * from emp where sal <> 1600 and sal <> 3000;

#not、or操作符
select * from emp where not (sal = 1600 or sal = 3000);

#not、in操作符
select * from emp where sal not in (1600, 3000);
2.11查詢出津貼不爲null的所有員工
select * from emp where comm is not null;
2.12條件查詢-like
#查詢姓名以M開頭所有的員工
select ename from emp where ename like 'M%';

#查詢姓名以N結尾的所有員工
select ename from emp where ename like '%M';

#查詢姓名中包含O的所有員工
select ename from emp where ename like '%O%';

#查詢姓名中第二個字符爲A的所有員工
select ename from emp where ename like '_A%'

3.排序

3.1單一字段排序
#按照薪水從小到大排序
select * from emp order by sal;

#取得工作崗位爲MANAGER的員工,按照薪水由小到大排序
select * from emp where job='MANAGER' order by sal;
3.2手動指定排序順序
#手動指定按照薪水由小到大排序
select * from emp order by sal asc;

#手動指定按照薪水由大到小排序
select * from emp order by sal desc;
3.3多個字段排序
#按照工作崗位和薪水倒序
select * from emp order by job desc, sal desc;
3.4按別名排序
#查詢每個員工一年的薪水,並顯示字段名字爲nianxin,按nianxin降序排序
select ename,sal,sal*12 nianxin from emp order by nainxin desc;

下一篇:
5、MySQL數據庫-常用函數

上一篇:
3、MySQL數據庫-數據增刪改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章