DQL語句 1、格式 select 列名*N from 表名 where 查詢條件1 and/or 查詢條件2 group by 列 Having 分組條件 Order by 排序 2、規則 sql在書寫時除了查詢條件外,大小寫都可以 select * from user where uname=' ...
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;