mysql列別 mysql 簡單查詢

2021-10-18 22:03:06 字數 3247 閱讀 7138

查詢特定列select ename,birthday from emp;

查詢所有的select*from emp;

給列起別名select ename as 姓名, salary as 工資 from emp;可以省略as

可以簡寫為:select ename a,salary b from emp;可以省略as

顯示不同的記錄(合併相同記錄)select distinct *** from emp;

查詢時執行計算 select 2+3*5+7.4*3.5回車 ;

查詢所有員工姓名以及年薪

select ename as 姓名,salary*12 as 年薪 from emp;

或者:select ename,salary*12 from emp;

練習:假設每個員工工資增加500,年終獎5000,查詢所有員工的姓名及其年薪,給列別起中文別名。

select ename as 姓名,(salary+500)*12+5000 as 年薪 from emp;

查詢結果集排序

結果從小到大:select*from dept order by did asc;ascendant

結果從大到小:select*from dept order by did desc;descendant

如果工資相同,按照姓名排序

select * from emp order by salary desc,ename;

如果性別相同,按照生日降序排列。

select * from emp order by ***,birthday desc;

order by 可以按照 數值、日期、時間、字串來排序,預設按asc公升序排列;

單條件查詢

查詢編號為5的員工所有列select *from emp where eid=5;

查詢姓名叫king的員工的編號,姓名,工資

select eid,salary,ename from emp where ename='king';

查詢出20號部門下員工所有的列

select * from emp where deptid=20;

查詢出工資在6000以上的員工所有列;

select*from emp where salary>=6000;

比較運算子:>   <   =    !=不等於    <=

查詢出1993-1-1以後出生的員工

select*from emp where birthday>'1993-1-1';

注意生日加引號!!!

查詢出不在10號部門的員工的所有列;

select*from emp where deptid!=10;

特殊:null用is 查詢出沒有明確部門的員工所有列

select*from emp where deptid   is  null;

select*from emp where deptid   is not  null;

多個條件查詢

查詢出工資大於6000的男員工所有列

select*from emp where salary>6000 and ***=1;

查詢出工資在5000~7000之間員工所有列

select * from emp where salary>=5000 and salary<=7000;

寫法二:select*from emp where salary between 5000 and 7000;

注意事項:必須是大於等於5000,小於等於7000,此時才可以用between  and ;

工資不在7000-1萬之間;

select * from emp where salary not between 7000 and 10000;

select*from emp where salary>10000 or salary<7000;

注意事項:這個用的是  or 上面是and;

查詢出1993之前和1995之後出生的所有列;

select*from emp where birthday>'1995-12-31'  or birthday

in用法

查詢出20號部門和30號部門的員工所有列

select *from emp where deptid=20 or deptid=30;

select*from emp where deptid in(20,30);

查詢出不在20號部門和30號部門員工所有列

select*from emp where deptid not in (20,30);

select *from emp where deptid!=20 and deptid!=30;

注意事項:

is null  /  is not null

and  /   or

between...and../  not between..and..

in(10,20);  /   not in (10,20);

模糊查詢%_

查詢名字裡有e的

select*from emp where ename like '%e%';

查詢以e結尾的

select*from emp where ename like '%e';

查詢倒數第二個字是e

select*from emp where ename like '%e_';

注意:% 可以匹配任意多個字元  >=0

_   可以匹配任意1個字元   =1

以上兩個匹配必須使用like關鍵字

分頁查詢

資料太多一次顯示不完,可以分頁

需要兩個條件:當前頁碼-每頁資料量

每頁的開始=(當前頁碼-1)*每頁資料量

select*from emp limit start,count;

start=(當前頁碼-1)*每頁資料量

注意:start和count的值必須是整數,不能是字串形式。

假設每頁顯示5條記錄

第1頁:select * from emp limit 0,5;

第2頁:select * from emp limit 5,5;

第3頁:select * from emp limit 10,5;

第4頁:select * from emp limit 15,5;

第5頁:select * from emp limit 20,5;

查詢彙總

mysql 引用列 引用聚合列的MySQL別名

select company id,sum case when status in 0,1 then 1 else 0 end as non billable,sum case when status in 2,3 then 1 else 0 end as billable sum non bill...

mysql怎麼查詢列命令 mysql常用查詢命令

常用mysql命令 show variables like character set client 查詢字符集 show databases 列出所有的伺服器上的資料庫alter create database if not exists test 建立乙個資料庫 drop database fk...

mysql 列的增刪改查

增加列 alter talbe 表名 add 列宣告 id int.增加的列缺省是在表的最後一列 可以用alter 來新增的列在哪一列後面 alter table 表名 add 列宣告 after 在。id 的後面 如果新增的列放在最前面 alter table 表名 add 列宣告 first 修...