一、簡單查詢
1.查詢所有字段
select * from 表名
--查詢所有學生的資訊
select * from student
查詢指定字段(可視為投影運算)
select 字段列表(逗號隔開) from 表名
--查詢班級、姓名、學號資訊
select sclass,snumb,sname from student
去除重複資訊
select
distinct 欄位名 from 表名
關鍵字distinct用於去重
--查詢有哪些班級
select
distinct sclass from student
根據現有值計算新值
設有資料表book,有6個字段bnumb,bname,author,press,pdate,price
--查詢圖書打9折後的**
select bnumb,bname,author,press,pdate,price*0.9
from book
也可以用關鍵字as為字段重新命名
select bnumb,bname,author,press,pdate,price*0.9
as discount
from book
也可以用關鍵字into將查詢結果插入新錶,into後面為新錶名
select bnumb as
'書號',bname as
'書名',author as
'作者',press as
'出版社',pdate as
'出版日期',price*0.9
as discount
into discount
from book
二、按條件查詢
--一般格式
select
《列名列表》
from
《表名》
where
《條件》
條件:關係運算子、邏輯運算子連線起來的表示式;關係運算子可以連線數值、字串、日期等型別的資料或表示式。
--查詢航天班的學生資訊
select * from student
where sclass = '航天'
--查詢年齡在20到22歲之間的學生資訊
select * from student
where sage<=22
and sage>=20
--查詢年齡不在20到22歲之間的學生資訊
select * from student
where
not (sage<=22
and sage>=20)
select * from student
where sage not between 18
and20
--查詢航天班年齡在20到22歲之間的學生資訊
select * from student
where sclass = '航天'
and sage<=22
and sage>=20
三、使用特殊關係運算子查詢
in 在集合中
not in 不在集合中
--查詢籍貫是陝西、河南的學生
select * from student
where province in('陝西','河南')
is null 是空
is not null 非空
--查詢沒填**號碼的學生
select * from student
where stel is
null
between 起始值 and 終止值 :在兩值之間
not between 起始值 and 終止值:不在兩值之間
注:① 區間是閉區間
② 兩值的型別可以是數值、字串或日期型
③ 日期做終止值時,不包括終止值那一天
--查詢年齡在20到22歲之間的學生資訊
select * from student
where sage between 18
and20
like 字串
not like 字串
利用萬用字元實現模糊匹配
% :匹配0個或多個任意字元
_ :匹配乙個任意字元
:匹配集合中的任意乙個字元
[^] :不匹配集合中任乙個字元
--查詢姓"陳"的同學的資訊
select * from student
where sname like
'陳%'
--查詢名字中含有」雨「字同學的資訊
select * from student
where sname like
'%雨%'
--查詢姓「鄭」的,且名字為兩個字的同學的資訊
select * from student
where sname like
'鄭_'
--查詢姓「趙、錢、孫、李的同學的資訊
select * from student
where sname like
'[趙錢孫李]%'
--查詢不是姓「趙、錢、孫、李的同學的資訊
select * from student
where sname like
'[^趙錢孫李]%'
四、對查詢結果進行排序
使用order by子句
--一般格式
select
《列名列表》 from
《表名》
[where 條件]
order
by《欄位名1> [asc|desc], 《欄位名2> [asc|desc] ...
asc表示按字段值公升序排列(ascend),預設公升序
desc表示按字段值降序排列(descend)
--查詢航天班的學生的姓名、年齡、按年齡從小到大排序(公升序)
select sanme,sage from student
where sclass = '航天'
order
by sage
--查詢航天班的學生資訊按年齡從大到小排序,年齡相同按學號公升序排序
select * from student
where sclass = '航天'
order
by sage desc, snumb asc
參考資料:sql server資料庫技術(coursera) SQL資料查詢2
use hcreate table zy1 empno int,ename varchar 10 job varchar 10 mgr int,hiredate date,sal double coom double deptno int drop table zy1 desc zy1 select...
SQL資料查詢 子查詢 多表查詢
user info表 user info表 create table user info id int 2 primary key,user name varchar 12 unique password varchar 15 not null real name varchar 8 not nul...
SQL分頁資料查詢
在許多資料庫應用系統中,會對資料進行大量的查詢操作。當查詢資料量比較大時查詢所用的時間就會變得較慢,所以我們希望可以分批的獲取資料。特寫了乙個儲存過程用於分批獲取資料。鑑於游標效率低,故此處沒有採用。create procedure selectpage tablename nvarchar 64 ...