1. 程式人生 > >利用select檢索數據

利用select檢索數據

span ble 邏輯 語言 想要 比較操作符 size es2017 查詢語句

沒錯這就是DQL,數據查詢語言。來看看怎麽用。

select語句按照復雜程度來說分為簡單查詢、where查詢、多表查詢、子查詢等。

先來看看select的語法

1.select 

2.[distince|all] //描述列表字段中的數據是否去除重復記錄

3. select_list 需要查詢的字段列表,也可以說是占位符。可以是一個字段,也可以多個字段

4.from table_list 

5.[where_clause] //查詢條件

6.[group_by_clause] // group by子句部分

7.[having condition]//havint子句部分

8.[order_by_clause]
//排序

方便研究,先來創建一個表pro。

productid productname productprice quantity category origin
1 夏普 1000 22 1 日本
2 海爾 2000 33 2 中國
3 三星 3000 44 3 韓國
4 華為 4000 55 4 中國

1.簡單查詢

簡單查詢用到上面查詢語句的前四行。

1.獲取productname 和 origin的數據

技術分享

2.獲取所有字段的數據

技術分享

3.使用別名替代表中的字段名。 指定別名可以使用as關鍵字。

技術分享

4.使用表達式操作查詢的字段

可以針對某個列使用表達式,這樣查詢出來的結果就是修改後的數據,但是數據庫表裏面的數據不會改變

不用的時候

技術分享

那麽想要讓他都變成1.25倍呢?可以使用

技術分享

這裏面 || 是用來連接字符串的。

5.使用函數操作查詢的數據

查詢過程中允許檢索的列使用函數對其操作,如果僅僅是查詢,那麽更多的是利用函數對數據進行類型轉換。

利用函數 subStr,對字符串進行截取。

技術分享

截取前兩位字符串。

6.去除檢索數據中的重復記錄

使用distince(column_name)來去重復數據

技術分享

2.檢索出來的數據排序


1.使用升序或者降序排序

按照productname進行排序,先來看看未排序之前默認是升序的

技術分享

按照升序,關鍵字是desc

技術分享

按照降序,關鍵字是asc

技術分享

2.排序時對null值進行處理

修改一下表

productid productname productprice quantity category origin
1 夏普 1000 22 1 日本
2 海爾 2000 33 2 中國
3 三星 3000 44 韓國
4 華為 4000 55 4 中國

對於null值來說默認排序的時候是最大的。

技術分享

但是我們可以指定null值在前面還是後面

技術分享

技術分享

3.使用別名作為排序字段

技術分享

4.使用表達式作為排序字段

技術分享

5.使用字段的位置作為排序字段

排序時允許使用查詢列表中字段的位置來作為排序字段

技術分享

6.使用多個字段排序

也就是說當第一個字段都一樣時,再用第二個,依次類推。

3.where子句設置檢索條件

where條件子句中可以使用的操作符主要有關系操作符、比較操作符和邏輯操作符

關系操作符:< 、 <= 、 > 、 >=、 =、!=、<>

比較操作符:

is null:如果操作數為Null返回true

like:模糊比較字符串值

between...and...驗證值是否在範圍之內

in:驗證操作數在設定的一系列值中

邏輯操作符

and:且

or:或

not:取反

1.查詢中使用單一條件限制

主要針對關系操作符來說,也可以使用函數

技術分享

技術分享

技術分享

2.查詢中使用多個條件限制

技術分享

技術分享

3.模糊查詢數據

模糊查詢使用like,它和兩個通配符一起使用,才能使用模糊查詢的功能,用這兩個通配符可以替代模糊的地方

_:代替一個字符

%:代替多個字符

技術分享

4.查找條件限制在某個列表範圍內

技術分享

5.專門針對null值得查詢

技術分享

4.group by 和 having的使用

用於組的查詢,使用分組查詢可以統計數據。

1.根據某一個字段分組查詢

技術分享

2.根據多個字段分組

技術分享

3.having用來限制組的搜索條件

技術分享


5.使用子查詢

什麽時候要使用子查詢呢

catagoryid catagoryname
1 電腦
2 冰箱
3 手機
4 通信設備

利用select檢索數據