DQL陳述句
1、格式
- select 列名*N from 表名 where 查詢條件1 and/or 查詢條件2 group by 列 Having 分組條件 Order by 排序
2、規則
- sql在書寫時除了查詢條件外,大小寫都可以
- select * from user where uname='zs';
- SELECT *FROM USER WHERE UNAME='zs';
- 要是在公司要看其他員工sql是大寫還是小寫
- --屬于sql陳述句的注釋
- 所有查詢條件為字串時,需要用''進行修飾,否則會當列名處理
3、select查詢列和別名
3.1 直接查詢
-- 查詢所有員工資訊
select * from emp;
-- 查詢員工姓名
select ename from emp;
-- 查詢員工薪資
select sal from emp;
-- 查詢員工姓名和薪資
select ename,sal from emp;
select ename sal from emp;-- 錯誤,把sal當成ename別名了
select ename sal comm from emp;-- 報錯
-- 查詢員工姓名和薪資,給別名,推薦使用單引號
select ename '員工姓名', sal "薪資" from emp;
-- 查詢到的資料可以直接進行運算
select ename,sal,sal*12 from emp;
select ename,sal,comm,(sal+comm)*12 from emp;
-- 字串拼接
select CONCAT(ename,' 的薪資是 ',sal) '員工薪資' from emp;

3.2 條件查詢
-- 條件查詢
-- 查詢empno=7844
select * from emp where empno = 7844;
-- 查詢工資等于3000
select * from emp where sal = 3000;
-- 查詢job等于salesman
select * from emp where job = 'SALESMAN';
-- 查詢工資大于1000
select * from emp where sal > 1000;
-- 查詢工資小于1000
select * from emp where sal < 1000;
-- 查詢job不等于salesman
select * from emp where job != 'SALESMAN';
select * from emp where job <> 'SALESMAN';
-- 查詢工資大于等于3000
select * from emp where sal >= 3000;
-- 查詢工資介于1600和3000之間包括1600和3000
select * from emp where sal between 1600 and 3000;
-- NULL不能用=,要用is
select * from emp where comm is null;
3.3 in查詢
-- IN查詢
-- 查詢7499,7566,7782
select * from emp where empno in(7499,7566,7782);
-- 查詢除了這三
select * from emp where empno not in(7499,7566,7782);
-- 如果表中沒有這個編號,那么只查詢其他的
select * from emp where empno in(7499,7566,7782,8888);
3.4 like模糊查詢
-- 模糊查詢like,%表示任意字符,包括空
-- 查詢員工姓名最后一個字是N的資訊
select * from emp where ename like '%N';
-- 查詢員工姓名第一個字是M的資訊
select * from emp where ename like 'M%';
-- 查詢員工姓名中帶M的員工資訊
select * from emp where ename like'%M%';
-- 下劃線_表示任意一個字符
select * from emp where ename like '_M%';
-- 如果有特殊字符需要用\來轉義
select * from emp where ename like '%\%%';
4、查詢結果排序
-- 按薪資排序(默認升序)
select * from emp order by sal;
-- 看每個job的sal排序
select * from emp order by job,sal;
-- 按列進行排序(示例第一列)
select ename,sal from emp order by 1;
-- 升序
select * from emp order by sal asc;
-- 降序
select * from emp order by sal desc;
-- job降序,sal升序
select * from emp order by job desc,sal asc;
5、分頁排序
-- 每次查詢前n行(示例前4行)
select * from emp limit 4;
-- 分別查詢第N頁,每頁顯示M條
select * from emp limit 0,3;
select * from emp limit 3,3;
select * from emp limit 6,3;
select * from emp limit (n-1)*m,m;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/552748.html
標籤:MySQL
上一篇:[MySQL事務一文搞懂]
下一篇:返回列表
