sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句
MYSQL
本資料為產品崗位作為日常工作參考,語言口語化
At 2019/4/26 By David.Yang
如何使用限定條件來進行數據過濾?
在前問當中,我們已經學會到了SELECT查詢,
在過程當中多次接觸了WHERE這個關鍵詞,打過預防針應該知道他就是用來做數據查詢的過濾使用的。
如果沒有他,我們將獲取所有有限行內的數據,
這會給我們的查詢結果帶來麻煩,因為返回的結果集當中包含了我們不需要的很多數據。
比如考試成績表,你想告訴楊過他媽穆念慈,你兒子楊過最近學習不太好啊,
你看看這考試成績,掛的紅燈籠都能把學校點沒了,
這時候,你給他媽看6年前楊過上幼兒園的考試成績,還有說服力么?
沒有,限定的時間比如半年內,就是一個時間維度的查詢條件,
學生 = 楊過,就是一個指定的學生查詢條件。
如果沒有條件限制,別說楊過半年的成績單,就連楊過你都找不到。
他媽不得說你啊。
所以,WHERE是干嘛的?
WHERE是用來根據指定的條件,返回滿足指定條件記錄行的子句。
語法:
SELECT DISTINCT
column[,column...]
FROM
table_name
WHERE
where_conditions;
WHERE就是我們的查詢條件
WHERE子句演示
我們構造一張學生考試表,當中包含了關鍵字段,
學生id、分數、考試時間等
然后補進一些測試數據。
(請記得我們前文曾接觸過的批量插入數據語句)
我們獲得測試數據如下
mysql>select* from tests;
黃老邪的彈指神通天下一絕,這么牛逼的老師,教的課怎么樣呢?
課程彈指神通的課程id是1,他偷偷去考試表查了查學生的成績,
黃老邪一句SQL猛操作
SQL
SELECT *
FROM
tests
WHERE
deleted = 0
LIMIT 10;
黃老邪定睛一看
這就的到了所有學生的考試信息了。
邏輯運算符
黃老邪其實不關心學生們的蛤蟆功、一陽指學的怎么樣,
他只關心自己教的彈指神通(cuouse no = 1)
這時候我們可以對WHERE條件進行稍稍復雜化一點,
我們可以將多個表達式或邏輯運算符(AND OR)組合在一起形成一個復雜化的查詢條件。
黃老邪是這么干的,他只想看自己的課程下學生的考試成績,
SQL
SELECT *
FROM
tests
WHERE
deleted = 0
AND
courseno = 1
LIMIT 100;
比較運算符
在WHERE子句當中,出了=,我們還可以使用其他的比較運算符,
例如以下:
比如
黃老師想看看哪些小王八蛋彈指神通沒好好學,不及格的
黃老邪這么做
SQL
SELECT *
FROM
tests
WHERE
deleted = 0
AND
courseno = 1
AND
score <=60
LIMIT 100;
這些比較運算符可以用在SELECT UPDATE DELETE的WHERE子句當中,
都是作為過濾條件的運算操作使用。
更多過濾條件
我們了解了在WHERE子句中可以使用AND進行條件的邏輯組裝,
在面對更多更復雜的過濾條件是,我們還有類似其他
BETWEEN 在一個范圍內進行條件過濾
LIKE 基于匹配模式的條件過濾
IN 在一個list中進行命中過濾
IS NULL 是否為NULL
等
本篇完成后,你可以通過WHERE子句進行條件過濾,當然是SELECT,
不管UPDATE,還是DELETE都可以適用WHERE子句過濾,后面篇章將講解。
總結
以上是生活随笔為你收集整理的sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丰水梨的功效与作用、禁忌和食用方法
- 下一篇: python怎么读数据库的数据_pyth