第7章 數(shù)據(jù)過濾
where子句還可以,用邏輯運(yùn)算符and ,or, in,not過濾數(shù)據(jù)。
1、and操作符 ? #兩個(gè)條件同時(shí)滿足
找出供應(yīng)商為1003,同時(shí)價(jià)格小于等于10美元的產(chǎn)品:
select vend_id,prod_name,prod_price from products where vend_id=1003 and prod_price<=10;
2、or操作符 ? #任意一個(gè)條件滿足
找出供應(yīng)商為1002或1003的產(chǎn)品:
select prod_name,prod_price,vend_id from products where vend_id=1002 or 1003;
3、計(jì)算次序:
邏輯運(yùn)算優(yōu)先次序:()> and > or,where后面有邏輯運(yùn)算符時(shí),盡量用(),可以避免計(jì)算次序歧義。
找出供應(yīng)商為1002或1003的,同時(shí)價(jià)格不小于10美元的產(chǎn)品:
select prod_name,prod_price,vend_id from products where (vend_id=1002 or vend_id=1003) and prod_price>=10;
4、IN操作符: # in最大優(yōu)點(diǎn):in可以包含where子查詢,使過濾條件更靈活。
找出供應(yīng)商為1002或1003的產(chǎn)品:
select prod_name,prod_price,vend_id from products where vend_id in(1002,1003); ?#與or效果相同。
5、NOT操作符:可以對(duì)其他操作符取反,優(yōu)點(diǎn)是在復(fù)雜查詢條件中取反很方便。
找出供應(yīng)商不是1002或1003的產(chǎn)品:
select prod_name,prod_price,vend_id from products where vend_id not in(1002,1003);
《mysql必知必會(huì)》是一本好書,是一本sql語言入門書,豆瓣評(píng)分很高。
作者是英國(guó)的Ben Forta,世界知名的技術(shù)作家,由人民郵電出版社發(fā)行,我覺得原作名: MySQL Crash Course,直譯為:《MYSQL速成》更具暢銷書潛質(zhì),只是比較俗吧,呵呵。
書中從介紹簡(jiǎn)單的數(shù)據(jù)檢索開始,逐步深入一些復(fù)雜的內(nèi)容,包括聯(lián)結(jié)的使用、子查詢、正則表達(dá)式和基于全文本的搜索、存儲(chǔ)過程、游標(biāo)、觸發(fā)器、表約束,等等。
前三章是基礎(chǔ)概念,講了SQL和數(shù)據(jù)庫的基本概念,Mysql數(shù)據(jù)庫的概念和使用方法,第四章開始SQL實(shí)操練習(xí),這里是本書的一些實(shí)操練習(xí)筆記,有興趣的話可以按這個(gè)練習(xí)幾遍,相信對(duì)新手會(huì)很有幫助,讓你不經(jīng)意間功力大增。