張家港市住房城鄉(xiāng)建設(shè)局網(wǎng)站手游推廣渠道平臺(tái)
目錄
DQL
基本語法
基礎(chǔ)查詢
1、查詢多個(gè)字段
2、字段設(shè)置別名
3、去除重復(fù)記錄
條件查詢
語法
條件
案例
聚合函數(shù)
常見的聚合函數(shù)
語法
DQL
DQL英文全稱是Data Query Language(數(shù)據(jù)查詢語言),數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù)庫中表的記錄。
基本語法
DQL 查詢語句,語法結(jié)構(gòu)如下:
SELECT
字段列表FROM
表名列表WHERE
條件列表GROUP BY
分組字段列表HAVING
分組后條件列表ORDER BY
排序字段列表LIMIT
分頁參數(shù)
基礎(chǔ)查詢
1、查詢多個(gè)字段
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
SELECT * FROM 表名 ;
注意 : * 號代表查詢所有字段,在實(shí)際開發(fā)中盡量少用(不直觀、影響效率)。
2、字段設(shè)置別名
SELECT 字段1 [ AS 別名1 ] , 字段2 [ AS 別名2 ] ... FROM 表名;
SELECT 字段1 [ 別名1 ] , 字段2 [ 別名2 ] ... FROM 表名;
3、去除重復(fù)記錄
SELECT DISTINCT 字段列表 FROM 表名;
案例
A. 查詢指定字段 name, workno, age并返回
select name,workno,age from emp;
B. 查詢返回所有字段
select id ,workno,name,gender,age,idcard,workaddress,entrydate from emp;
C. 查詢所有員工的工作地址,起別名
select workaddress as '工作地址' from emp;
-- as可以省略
select workaddress '工作地址' from emp;
D. 查詢公司員工的上班地址有哪些(不要重復(fù))
select distinct workaddress '工作地址' from emp;
條件查詢
語法
SELECT 字段列表 FROM 表名 WHERE 條件列表 ;
條件
常用的比較運(yùn)算符如下:
比較運(yùn)算符 | 功能 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
BETWEEN ... AND ... | 在某個(gè)范圍之內(nèi)(含最小、最大值) |
IN(...) | 在in之后的列表中的值,多選一 |
LIKE 占位符 | 模糊匹配(_匹配單個(gè)字符, %匹配任意個(gè)字符) |
IS NULL | 是NULL |
常用的邏輯運(yùn)算符如下:
邏輯運(yùn)算符 | 功能 |
AND 或 && | 并且 (多個(gè)條件同時(shí)成立) |
OR 或 || | 或者 (多個(gè)條件任意一個(gè)成立) |
NOT 或 ! | 非 , 不是 |
案例
A. 查詢年齡等于 22 的員工
select * from emp where age = 22;
B.查詢沒有身份證號的員工信息
select * from emp where idcard is null;
c.查詢年齡在15歲(包含) 到 20歲(包含)之間的員工信息
select * from emp where age >= 15 && age <= 20;
select * from emp where age >= 15 and age <= 20;
select * from emp where age between 15 and 20;
D.查詢年齡等于18 或 20 或 40 的員工信息
select * from emp where age = 18 or age = 20 or age =40;
select * from emp where age in(18,20,40);
E.查詢姓名為兩個(gè)字的員工信息 _ %
select * from emp where name like '__';
F. 查詢身份證號最后一位是X的員工信息
select * from emp where idcard like '%X';
select * from emp where idcard like '_________________X';
聚合函數(shù)
常見的聚合函數(shù)
函數(shù) | 功能 |
count | 統(tǒng)計(jì)數(shù)量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
語法
SELECT 聚合函數(shù)(字段列表) FROM 表名 ;
案例
A. 統(tǒng)計(jì)該企業(yè)員工數(shù)量
select count(*) from emp; -- 統(tǒng)計(jì)的是總記錄數(shù)
select count(idcard) from emp; -- 統(tǒng)計(jì)的是idcard字段不為null的記錄數(shù)
B. 統(tǒng)計(jì)該企業(yè)員工的平均年齡
select avg(age) from emp;
C. 統(tǒng)計(jì)該企業(yè)員工的最大年齡
select max(age) from emp;
D. 統(tǒng)計(jì)該企業(yè)員工的最小年齡
select min(age) from emp;
E. 統(tǒng)計(jì)西安地區(qū)員工的年齡之和
select sum(age) from emp where workaddress = '西安';
?