上一篇中我們說了mysql的建庫和建表的操作(http://www.reibang.com/writer#/notebooks/18277867/notes/19063412)
今天我們就來學習一下mysql的單表查詢琼蚯,首先我們來把這篇教學要用表和數據準備好:
創(chuàng)建表的sql語句:
create table fruits(f_id char(10) not null primary key,s_id int(11),f_name char(50),f_price decimal(8,2));
表里插入數值的語句:
insert into fruits values('a1',101,'apple',5.20)遭庶,('a2',103,'apricot',2.20),('b2',104,'berry',7.60
),('b5',107,'xxxx',3.60),('bj1',101,'blackberry',10.20),('bs1',102,'orange',11.2
0),('bs2',105,'melon',8.20),('c0',101,'cherry',3.20),('l2',104,'lemon',6.40),('m
l',106,'mango',15.60);
一峦睡、 表和數據建好之后权埠,我們就執(zhí)行一條超級簡單的查詢語句查詢fruits表中的所有記錄
select 代表查詢攘蔽,* 代表查詢所有 from 要查那張表 后面接你的表格名就行
二、現在我要查詢s_id是101的所有數據了转捕,相比于上面的五芝,這條查詢就多了一個條件了
在查詢語句后面接一個 where 后面加上你的查詢條件就行枢步,也可以換成f_name="apple"哦
三渐尿、現在我們要查詢s_id=101的水果名字,不查詢所有水果信息了怎么辦
成功啦隘擎,就是把 select 后面*換成你要查詢出來字段就行
四嵌屎、現在我們要查詢所有s_id不等于101也不等于102的記錄
不等于 != 兩個條件之間加and
and和or區(qū)別
and:兩邊的條件同時滿足
or:一邊條件滿足就行
五恍涂、現在我們查詢水果價格在2塊錢到10塊錢之間的水果
當我們要查詢數值在什么什么之間的時候 用between and 吧
六再沧、當我們查詢表中有哪些s_id的時候,我們就要把重復的s_id去重了
把你要去重的字段用distinct括起來淤堵,查詢出來就行了
七、現在我們要把價格排序查詢出來
注意:排序有兩種哦 asc是升序 desc 是降序慰毅,order by 是默認升序排序
八汹胃、現在我們要把s_id進行分組着饥,然后求每個供應商水果的平均價格
用到函數就是avg求平均值的函數惰赋,group by 后面接你的要分組的字段
這種類型的查詢還有另一種寫法,不過我們就換一個條件吧轨奄,分組之后流部,查詢出最貴的水果價格
group by 后面接一個 having having 要跟分組group by 組合使用哦,不能獨立存在
九,現在我們要來學習一個超級厲害的模糊查詢果漾,給的查詢條件就是 查詢出名字b開頭的水果
模糊查詢的關鍵字 like %號是叫統(tǒng)配符绒障,當條件換成包含的時候捍歪,就把'b%' 換成 '%b%';
還有一個LIMIT我就不講啦嘿嘿嘿。