MySQL是一個關聯式資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。 MySQL 是最受歡迎的關聯式資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體。
影片播放位址:http://www.php.cn/course/273.html
學習本教學時需要專注於學習資料表查詢的知識點:
mysql查詢的五種子句
where(條件查詢)、having(篩選)、group by(分組)、order by(排序) 、limit(限制結果數)
1、where常用運算子:
# 1, , ! = (),>= , in v1 and v2 在v1至v2之間(包含v1, v2) 邏輯運算子 not ( ! ) and ( && ) 邏輯與 where price>=3000 and price =500 and price where price not between 3000 and 5000## # 3000與#5000 我的值與# 模糊查詢
like 像
通配符:
% 任意字元
where goods_name like 'Nokia%' where goods_name like '諾基亞N__' 2、group by 分組 一般條件下group ,goods_name,cat_id,max(shop_price) from goods group by cat_id; 這裡取出的結果中的good_name是錯誤的!因為shop_price使用了max函數,那麼它是取最大的,而語句中使用了group by 分組,那麼goods_name並沒有使用聚合函數,它只是cat_id下的第一個商品,並不會因為shop_price改變而改變 mysql中的五個統計函數: (1) from goods 以最大的價格的價值,只有值 #查詢每個欄位下價格最高的## cat_id;
#已知價格最高的商品編號
select goods_id,max(goods_price) from
(3)sum:求總數與
select sum(goods_number) from goods;
(4)avg:求平均值
#上使用每個欄中商品平均價格
##(5)count:求總行數
#求每個欄位下商品種類
#
每個字段名當成變數來理解,它可以運算
中使用每個商品價格比市價低。 s_name,goods_price-market_price from goods ; 查詢每個欄位下面積壓力的貨款 goods group by cat_id;可以用as來給計算結果取個別名
select cat_id,sum(goods_price * good 不只列名可以取別名,表單另有別名 3、having 與where 的異同點 怎麼寫,having後怎麼寫 where針對表中的列發揮作用,查詢資料## 對列資料# #查詢本店商品價格比市價低多少,輸出低200元以上的商品
select goods_id,good_name,market_price - shop_price as havs from good 00 ; //這裡不能用where因為s是查詢結果,而where只能對錶中的字段名篩選
如果使用where的話則為:
o# . market_price - shop_price > ; 200; #同時使用where與having s where cat_id = 3 having s > 200; #查詢積壓貨款超過2萬元的欄目,以及此欄位所積壓的貨款## 51 100y_片款 by cat_id having s > 20000
#查詢兩個以上科目未及格的學生的平均分數
## #先計算所有學生的平均分數 name,avg(score) as pj from stu group by name; #找出所有學生中的掛上狀況 ###########################################'select name,score
score
#參考兩門以上不及格的學生
select name,sum(score
select name,sum(score
( 1) order by price //預設升序排列
(2)order by price desc //以降序排列
## (4)order by rand() //隨機排列,效率不高
# select * from goods where cat_id !=2 order by cat_id,price desc;
5、limit
5、limit
offset 偏移量,可選,不寫則相當於limit 0,N
N 取出條目
## select good_id,goods_name, goods_price from goods order by good_price desc limit 3,3;
## 想法:
#先每個欄位下的商品價格排序
select cat_id,goods_id,goods_name,shop_price from good) 問題 by cat_id,shop_id,goods_name,shop_price from goods 1 by cat_id,shop_p > #上面的查詢結果中每個欄目的第一行的商品是最貴的商品
#把上面的查詢結果理解為一個臨時表[存在於內存中] 出每欄最貴的商品
select * from (select goods_id,goods_name,cat_id, #這裡使用group by cat_id是因為臨時表中每個欄目的第一個商品就是最貴的商品,而group by前面沒有使用聚合函數,所以默認就取每個分組的第一行數據,這裡以cat_id分組
良好的理解模式:
2、字段(列),理解為變量,可以進行運算(算術運算和邏輯運算)
3、 取出結果可理解為一個臨時表
#以上是動力節點mysql基礎影片資料分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!