單表查詢_簡單_條件查詢

@author StormWangxhu
@date 2017/11/23

一、簡單查詢

1、1、SELECT語句

MySql語句從數據庫中查詢數據的基本語句爲SELECT語句。
基本語法:

SELECT [DISTINCT] * | {字段名1,字段名2,...}
FROM  表名
[WHERE 條件表達式1]
[GROUP BY 字段名1[HAVING 條件表達式2 ]]
[ORDER BY 字段名 [ASC| DESC ]]
[LIMIT [OFFSET]  記錄數]

說明:
(1)、* 通配符表示表中的所有字段
(2)、GROUP BY 將查詢結果按字段分組
(3)、ORDER BY 將查詢結果按字段進行排序。
(4)、LIMIT OFFSET
(5)、 DISTINCT 剔除查詢結果中的重複值。

1、2查詢所有字段

1、在SELECT語句中指定所有字段

基本語法:

SELECT 字段名1,字段名2,字段名3...  FROM  表名;

說明 ; 字段1,字段2,字段3….爲表中所有的字段。

舉例:

這裏寫圖片描述

2、在SELECT 語句中使用 * (通配符)代替所有字段。

基本語法:

SELECT * FROM 表名  ;

1、3 查詢指定字段

只針對部分查詢字段,不查詢全部字段

基本語法:

SELECT 字段名1,字段名2...  FROM 表名  ;

說明:
字段1,字段2,…爲表中的字段名稱,這裏只需指定表中部分字段的名稱。

舉例:
這裏寫圖片描述

二、按條件查詢

2、1 帶關係運算符的查詢
在SELECT語句中,最常見的是使用WHERE語句指定查詢條件進行數據的查詢。

基本語法:

SELECT 字段名1,字段名2...
FROM  表名
WHERE 條件表達式  ;

關係運算符,即常見的大於,小於,不等於….等!

這裏寫圖片描述

舉例:

這裏寫圖片描述

2、2 帶IN關鍵字的查詢
IN 關鍵字 用於判斷某個字段是否在指定集合中。若字段的值在集合中,則該字段所在的記錄將被查詢出來。

基本語法:

SELECT *  |[字段名1。字段名2...]
FROM 表名
WHERE 字段名  [not] IN [元素1,元素2...];

說明:
元素1,元素2, 表示集合中的元素,級指定的條件範圍。
not 爲可選參數,使用not表示查詢不在in關鍵字指定集合範圍中的記錄。

舉例:

這裏寫圖片描述

2、3帶between and 關鍵字的查詢

用於判斷某個字段的值是否在某一個範圍內,若字段的值在指定範圍內,則滿足條件,該字段所在的記錄將會被查詢出來,否則,不會查詢出來@

基本語法:

select *  | [字段名1,字段名2...]
from 表名
where   字段名  [not] between 值1 and 值2

說明:
(1)上述值1、值2,分別表示條件範圍的起始值、結束值。
(2)若字段的值在範圍內,則將會被查出來。否則,不會查詢出來。
(3)not 爲可選參數,表示不再條件範圍內的字段值。

舉例:

這裏寫圖片描述

2、4 空值查詢

在數據表中某些列的值可能爲空值(null),空值不等同於0,也不同於空字符串。
在MySQl種使用is null關鍵字來判斷字段的值是否爲空值。

基本語法:

select * | [字段名1,字段名2...]
from 表名
where 字段名 is [not]  null ;

說明:
not爲可選參數,使用not關鍵字用於判斷字段值不是空值。

舉例:
//圖

這裏寫圖片描述

2、5 帶 distinct 關鍵字的查詢
表中某些字段的值存在重複數據,該關鍵字用於去除重複值,只留一種!
即過濾重複內容!!!

基本語法:

select distinct 字段名 from 表名 ;

說明:
字段名錶示要過濾重複記錄的字段。

舉例:

這裏寫圖片描述

注意:

distinct 關鍵字用於多個字段
基本語法:

select distinct 字段名1,字段名2... from 表名;

條件:
字段1,字段2,….等多個字段的值相同才能過濾。
不相同,則會直接查詢出來,不能起到過濾的作用!

這裏寫圖片描述

2、6 帶like 關鍵字的查詢

即對字符串進行模糊查詢 !!!

基本語法:

select * | [字段名1,字段名2...]
from 表名
where 字段名 [not]  like  '匹配字符串';

說明:
(1)not 可選參數,表示查詢與指定字符串不匹配的記錄。
(2)‘匹配字符串’ 指定用來匹配的字符串,其值可以是一個普通的字符串,也可以包含百分號 % 通配符或者下劃線_通配符。。。

下面介紹一下百分號通配符,和下劃線通配符!

1>百分號%通配符

匹配任意長度的字符串,包括空字符串。

比如:

select 字段名1,字段名2...
from  表名
where 字段名 like 'S%'

說明:
(1)‘s%’表示 匹配以字符 s開始,任意長度的字符串。如‘ct’,’cut’,’current’.
(2)如:%s% : 表示統配

舉例:
//圖

這裏寫圖片描述

2>下劃線通配符 _

下劃線通配符只匹配單個字符。
若要匹配多個字符,需要使用多個下劃線通配符。

注意:

若使用多個下劃線匹配多個連續的字符,下劃線之間不能有空格!

舉例:

這裏寫圖片描述

百分號通配符和下劃線通配符的轉義

這兩個可以聯合起來進行查詢操作。

使用右劃線’\’對百分號 %、和下劃線通配符 _ 進行轉義:

比如: \%, _

舉例:

這裏寫圖片描述

2、7、帶 and 關鍵字的多條件查詢

爲了使查詢結果更精確,可以使用多個查詢條件。

基本語法:

select * | [字段1,字段2...]
from 表名 
where 條件表達式1 and 條件表達式2 [...and條件表達式n];

注意:

and 關鍵字兩邊條件要同是滿足 !

舉例:

這裏寫圖片描述

2、8、帶 or 關鍵字的多條件查詢

只要記錄滿足任意一個條件就會被查詢·出來

select * | [字段1,字段2...]
from 表名 
where 條件表達式1 or 條件表達式2 [...or條件表達式n];

即每兩個條件之間用 or 關鍵字連接。

舉例:

這裏寫圖片描述

and 和 or 混合使用 查詢

注意:

and 的優先級高於 or 。
舉例:

這裏寫圖片描述

說明:

若and優先級和or 的優先級相同 或者 比 or 低,and操作會最後執行,查詢結果只會返回一條記錄,記錄的grade =99。
但是::::哈哈但是:
本例中返回了 6條記錄。說明先執行了 and 後執行了 or 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章