【SQL語言是用于訪問和處理資料庫的標準的計算機語言,做為產品經理而言,經常會對產品的使用情況進行多種資料指標的分析,在沒有更多前臺統計功能存在時,我們更多是通過資料庫中的資料進行SQL陳述句的查詢得出,所以我們還是需要了解一些很基礎的SQL陳述句,今天我就把我總結的內容分享給大家。】
這次分享主要涉及:單表查詢、多表聯合查詢、同時給大家分享些部分常用的轉換陳述句等,這幾種方式給大家介紹常用的SQL陳述句。
1、 關于單表查詢:
舉例:student1

1) select * from 【你要查詢的表名】
舉例:select * from student1
查詢結果:

2) select XXXX,XXXXXX from 你要查詢的表名
舉例:select no,name,erp,calss from student1
查詢結果:

除此之外,還需要記住一些限制的單詞,具體如下:
1) 限制性條件:where
舉例:查詢1班的人員資訊,查詢陳述句:select * from student1 where class=‘1班’
查詢結果:

如果在這個基礎上 有多個條件 后面 會再 加上 and 或是 or 去滿足多個限制條件查詢
舉例:查詢2班里是男生的人員資訊,查詢陳述句:select * from student1 where class=‘2班’and sex=‘男’
這樣查詢的結果就如下:

2) 以XXX進行排序:ORDER BY
舉例:按照班級進行排序展示,查詢陳述句:select * from student1 ORDER BY class
查詢結果:

當然,這個ORDER BY 也可以后面寫多列,用,分隔即可,這樣就會按照多列依次排序展示
假如需要按照升序和降序展示的話,也可以后面加上 DESC or ASC,
例如:select * from student1 ORDER BY class desc,age asc
3) 去重查詢:DISTINCT
舉例:學生都來自哪些地方?查詢陳述句:select DISTINCT native place from student1
查詢結果:

4) 選取介于兩個值之間的資料范圍:where XXX between ... and
舉例:在20-23歲的學生有哪些?查詢陳述句:select * from student1 where age between 20 and 23
查詢結果:

注:不同的資料庫對 between...and 運算子的處理方式是有差異的。
某些資料庫會列出介于 "20" 和 "23" 之間的人,但不包括 "20" 和 "23" ;
某些資料庫會列出介于 "20" 和 "23" 之間并包括 "20" 和 "23" 的人;
而另一些資料庫會列出介于 "20" 和 "23" 之間的人,包括 "20" ,但不包括 "23"
5) 對于4延伸講,還有不介于XXX之間的,再between前面增加一個not
舉例:不在20-23歲的學生有哪些?查詢陳述句:select * from student1 where age not between 20 and 23
查詢結果:

6) 要查詢某列中值為多個的,可以用in(‘XX’,‘XX1’)這種方式
舉例:查詢北京和上海的學生資訊,查詢陳述句:select * from student1 where native place in ('北京’,‘上海’)
查詢結果:

7) 萬能的like使用,比如我要查詢所有姓張的學生,或是erp中包含那個字母/那幾個字母的,或是以某列中以XXX為結束的,都可以通過like實作,也可以結合not like實作,不過通常都會和 "%"通配符聯合使用,比如:‘張%’、‘%XXX%’、
舉例:
查詢所有姓張的學生,查詢陳述句:select * from student1 where name like ‘張%’
查詢結果:

2、 其他常用的函式如下:
1) 查詢一共多少條資料:count
舉例:查詢學生表中一共多少條記錄,查詢陳述句:select count(*)from student1
查詢結果:6
2) 查詢匯總后結果:sum
舉例:查詢學生表中年齡加和后是多少,查詢陳述句:select sum(age)from student1
查詢結果:131
3) 查詢均值是:
舉例:查詢學生表中年齡加和后是多少,查詢陳述句:select avg(age)from student1
查詢結果:21.83
4) 查詢最大值:max
舉例:查詢學生表中年齡加和后是多少,查詢陳述句:select max(age)from student1
查詢結果:25
5) 查詢最小值:min
舉例:查詢學生表中年齡加和后是多少,查詢陳述句:select min(age)from student1
查詢結果:20
6) 函式用于把數值欄位舍入為指定的小數位數 round,常用法:select round(查詢的欄位名,幾位小數) from 表名
7) 用于對欄位的顯示進行格式化,通常用于時間格式使用:date_format,常用法:select date_format (欄位名,格式) from表名
常用轉換格式如下:
查詢某天: date_format(欄位, “%Y-%m-%d” )
某月:date_format(欄位, “%Y-%m” )
某時:date_format(欄位, “%Y-%m-%d %H” )
8) 轉換日期to_date, 通常用于時間格式使用:to_date,常用法:to_date(欄位名)
9) 過濾空格的函式:TRIM ,常用法:select trim(欄位名) from表名
10) 轉大寫字母的:ucase,常用法:select ucase (查詢的欄位名) from 表名
轉小寫字母: lcase,常用法:select lcase (查詢的欄位名) from 表名
3、 多表聯合查詢:
下期補充
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73124.html
標籤:基礎類
