準備數據:
create table student(
?id int,
?name varchar(20),
?chinese float,
?english float,
?math float
);
insert into student (id ,name ,chinese,english,math)values(1,`張小明`,89,78,90);
insert into student (id ,name ,chinese,english,math)values(2,`李進`,67,98,56);
insert into student (id ,name ,chinese,english,math)values(3,`王五`,87,78,77);
insert into student (id ,name ,chinese,english,math)values(4,`李一`,88,98,90);
insert into student (id ,name ,chinese,english,math)values(5,`李來財`,82,84,67);
insert into student (id ,name ,chinese,english,math)values(6,`張進寶`,55,85,45);
insert into student (id ,name ,chinese,english,math)values(7,`張小明`,75,65,30);
?
查詢學生的總成績
select s.chinese+s.english+s.math,s.name from student s
?
使用別名
select chinese as 語文,english as 英語,math as 數學,name from student
與下面語句等價
select chinese 語文,english 英語,math 數學,name from student
?
查詢總分大于200分的所有用戶
select * from student s where (s.chinese+s.english+s.math)>250
不等于:<> 或者 !=
1?使用order by 排序
order by使用語法:
select column1,column2 from table_name? order by 列名 asc[decs]
?
對數學成績排序后輸出
select math,name from student order by math;
對總分排序后輸出
select (s.chinese+s.english+s.math) as sum_score,s.name from student s order by sum_score desc
與下面句子等價
select (s.chinese+s.english+s.math) ,s.name from student s order by (s.chinese+s.english+s.math) desc
?
對姓李的同學成績排序
select (s.chinese+s.english+s.math) as sum_score,s.name from student s where s.name like '李%' ORDER BY sum_score desc
2?統計函數
統計函數count語法:
select count(*) | count(列名) from tablename where where_definition
?
統計數學成績大于90分的同學
select count(*) from student? where math>=90
?
統計函數sum 和 avg語法
select sum(列名){,sum(列名)…} from table where where_definition
select avg(列名){,avg(列名)…} from table where where_definition
強調:avg不會統計(為空)的現象
?
統計函數max 和 min語法
select max(列名) from table where where_definition
select min(列名) from table where where_definition
備注:如果數據類型不是“數值”類型,也能進行排序查詢
3?group by 分組
create table orders(
?id int,
?product varchar(20),
?price float
);
insert into orders(id,product,price) values(1,'電視',900);
insert into orders(id,product,price) values(2,'洗衣粉',100);
insert into orders(id,product,price) values(3,'洗衣粉',90);
insert into orders(id,product,price) values(4,'桔子',10);
insert into orders(id,product,price) values(5,'洗衣粉',90);
?
根據商品分類
select product,sum(price) from orders group by product;
?
having用法
查詢購買了幾類商品,并且每類總價大于100的商品
select product,sum(price) as sumprice from orders? group by product HAVING sumprice >100;
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
