MySQL中的根本查詢語句進修筆記。本站提示廣大學習愛好者:(MySQL中的根本查詢語句進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL中的根本查詢語句進修筆記正文
1.根本查詢語句
select 屬性列表 from 表名和視圖列表 [where 前提表達式1] [group by 屬性名1 [having 前提表達式2]] [order by 屬性名2 [asc|desc]]
2.單表查詢
1)應用*查詢一切字段
select * from 表名;
2) 查詢指定字段
select id,name from product;
應用下面例子可以查詢指定字段
3)查詢指定記載
where 前提表達式
實例:
select *from employee where id = 1002;
where 子句經常使用查詢前提
比擬:=、<、 <=、 >、 >=、 !=、 <>、 !>、 !<
指定規模 : between and、not between and
指定聚集:in、not in
婚配字符: like、not like
能否為空值:is null 、is not null
多前提查詢:and or
4)帶in症結字的查詢
in症結字可以斷定某個字段的值能否在指定的聚集中。
[not] in (元素1,元素2,...,元素n)
實例:
select * from employee where id in (1001,1002);
假如聚集中的元素為字符時,需加上單引號。
5)帶between and 的規模查詢
[not] between 取值1 and 取值2
取值1為肇端值,取值2為終止值
實例:
select * from employee where age bewteen 15 and 20;
6)帶like的字符串婚配查詢
[not] like ‘字符串';
‘字符串'的值可所以完全的字符串,也能夠是含百分號(%)或下滑線(_)的通配字符。
“% ”可以代表隨意率性長度的字符串,長度可所以0。
“_”只能表現單個字符。
完全字符時like相當於“=”。
實例:
select * from employee where homeaddr like ‘北京%';
查詢一切homeaddr字段中以“北京”
開首的記載。
select * from employee where name like "ar_c";
查詢一切name字段值長度為4,前兩個字母為“ar”最初一個字母為“c”的記載。
統配的字符串可以用單引號或雙引號。
通配符“”可以屢次應用,如“趙 _”。
7)查詢空置
is [not] null
實例:
select * from work where info is null;
查詢work表info字段為空的記載。
8)and 和 or多前提查詢
前提表達式1 and 前提表達式2 [...and 前提表達式n]
and 表現同時知足一切前提的記載會被查詢出來,or表現只需知足個中一條的記載就會被查詢出來。
9)查詢成果不反復
select distinct 屬性名
實例:
select distinct age department_id employee;
10) 查詢成果排序
order by 屬性名 [asc|desc]
默許asc排序。
假如碰到某個字段存在空值的記載,須要留意,空值排序時可以懂得為該字段的最小值。
mysql中可以指定按多字段排序。
實例:
select * from employee order by id asc , age desc;
3.limit限制查詢成果條數
1)不指定肇端地位
limit 記載數
記載數跨越查詢成果則顯示一切的記載,不會報錯
2)指定肇端地位
limit 肇端地位 , 記載數
記載的肇端地位從地位0開端。
2.應用聚集函數查詢
聚集函數包含count(),sum(),avg(),max()和min()。
1)count()函數
統計記載條數
實例:
select count(*) from employee;
與group by一路應用
select d_id,count(*) from employee group by d_id;
上述語句會先分組後統計。
2) sum()函數
sum()函數是乞降函數
實例:
select num,sum(score) from grade where num= 1001; select num,sum(score) from grade group by num;
sum()只能盤算數值類型字段。
3)avg()函數
avg()函數是求均勻值函數。
實例:
select avg(age) from employee; select course,avg(score) from group by course;
4)max(),min()函數
求最年夜值和最小值。
實例:
select max(age) from employee; select num,course,max(score) from grade group by course;
關於字符串的最年夜值成績,max()函數是應用字符對應的ascii碼停止盤算的。
4.歸並查詢成果
應用union和union all症結字。
union將查詢的成果歸並到一路並去失落形同的記載,union all 只是簡略地歸並到一路。
select 語句1 union|union all
select 語句2 union|union all...
select 語句n;
PS:為表或字段起別號
表起別號語法:
表名 表的別號
select * from department d where d.d_id =1001;
字段起別號語法:
屬性名 [as] 別號
as無關緊要。
select d_id as department_id,d_name as department_name from department;