1. 程式人生 > >複雜的select語句查詢

複雜的select語句查詢

--複雜的select查詢
--1.給列起別名
select stuName as 姓名',--第1種起別名方法,推薦用法
stuNumber 學號,--第2種起別名方法
性別=stuGender --第3種起別名方法 

from TbStudent


--2.select關鍵字之後,可以跟任何表示式,
--往往用在給查詢結果構造-一個表中沒有的欄位(但它是臨時存在的,查詢不出來,只是在記憶體中,不是在庫檔案裡面)
select  stuName, stuNumber, stuGender,是否黨員='no' from TbStudent

--3. where子句(條件查詢)
--注意: where子句一定要放在被查詢的表名後邊
select * from TbStudent where  stuGender=0 --判等
一一大小範圍比較,關係運算:=,>,<,>=,<=
sel ect*from TbS tudent where stuAge>20 and stuAge<40

--大小范國比較,美系送算: =, >,<,>=,<=, !=(不等於)
select* from TbStudent where stuAge>20 and stuAge<40 and stuAddress=' 幵封
--還揖送算:and,Or,not

select from TbStudent where stuClassId !=2 

--between. . .and. .., between範圍比較between. .and. . 是包含這2個數的(是用來比較連續的值)

select from TbStudent where  stuAge between  20 and 40

--查詢所有1,2, 3班的學生資訊
-很多情況下,一個查詢有多重實現方法
select *from TbStudent where stuClassId=1 or stuClassId=2 or stuClassId=3
select *from TbStudent where stuClassId between 1and3

詢所有1,3, 4班的學生資訊
一一
使用in關鍵字
sel ect * from TbStudent where stuClassId in(1,3,4)

查詢所有1,3, 4班的學生資訊
使用in關鍵字
不在這3個班的同學
select*from TbStudent where stuClassId not in(1, 3, 4)

--top關鍵字:  查詢前若干條几率
select  top(5) * from TbStudent where stuClassId in (1,了, 4)
--查詢前百分之幾條几率,按百分比查詢出於頂端的記錄,不按四捨五入,是直接進位
select top 70 percent * from TbStudent

--查詢所有的學生籍貫地
select di stinct stuAddress from TbStudent
--distinct:是先從資料表中查詢出資料,然後把結果集中完全相同的記錄去除掉。只有完全一樣才會刪除
select DISTINCT stuAddress, stuAge   f rom  TbStudent

--模糊查詢:Like
select * from TbStudent where stuName= '劉備 '


萬用字元:%,_ ,  [] , ^
%萬用字元:匹配0-n個任意字元
select * from TbStudent where stuName Like '武'

select * from character where tName like '%傑%'(只要出現傑,就行)
--_ 萬用字元,表示匹配任意1個字元
查詢:姓'武',並且名只有1個字的人
select * from TbS tudent where StuName Like '武'

登找:
姓'正,開且名只有1個子的人
select from TbStudent where
stuName like '武_ '
--查詢:名字裡面有'敏'字的學生資訊
select * from TbStudent where stuName like ' %敏%'
--查詢:名字裡面沒有'敏'字的學生資訊
select * from TbStudent where stuName not like ' %敏%'
一一^ 萬用字元: 非,不是
select from TbStudent where stuName like ' %^敏%' 

聚合函式:不管是多少條記錄 最後只能得到1個數

Max:求最大值 ;select MAX(tAge)from character

min:求最小值 ;select MIN(tAge)from character

count:計算記錄條數;;select COUNT(*)from character
                        select COUNT(1)from character

                     (如果要統計的那條記錄我Null,則不計算在內。

                            推薦使用主鍵或者1作為count()物件)

sum:求和;select SUM(tAge)from character

avg:求平津值;select avg(tAge)from character