天天看點

資料庫個人筆記(3) -- 基礎篇

資料庫的查詢

當使用者登陸到SQL server 2008 時,即被指定到一個資料庫,一般為 master 資料庫,但是要想使用我們自己的資料庫,就要進行轉換。語句為 use database name,其中 database name 是要選中為目前資料庫的資料庫名稱。
例如:
use pxscj
go
(将資料庫標明為 名為 pxscj 資料庫)
           

標明資料庫後接下來我們就開始來學習查詢。

sql 最基本的語句 “ select ”

規則如下:

資料庫個人筆記(3) -- 基礎篇

其中,使用 ‘ * ’ 來表示一個表中的所有行。

例:

use pxscj
go
select *
from xsb
go
查詢 pxscj 資料庫中的 xsb 表 的全部内容
           

使用select語句選擇一個表中的某些列,各列之間要以逗号(,)分割

例:

select 姓名,專業,總學分
	from xsb
go
在 xsb 表中查詢各個學生的姓名,專業,總學分
           

sql server 2008中還能一次執行多個查詢。

其中 還可以定義列别名。

查詢 xsb 表中各個學生的學号,姓名,總學分,并且依次将标題指定為:number,name,mark
select 學号 as number,姓名 as name,總學分 as mark
	from xsb
go

其中 as 也可以用 ‘=’ 來帶替
例
number = 學号   順序相反
當 替換名中含有空格時, 要用''來括起來
例
'Student number' = 學号
           
  • 與select 連用的 where 子句

where 是 select 的查詢條件,where 語句必須緊跟在from子句的後面,

查詢 xsb 表中學号為‘081101’的同學的情況
select *
	from xsb
	where 學号 =  '081101'
           

也可以用于比較

查詢 xsb 表中 總學分 大于50 的同學的情況
select *
	from xsb
	where 總學分 > 50
go
在 where 語句中 還可以引入邏輯運算符例如 not and or
           

替換查詢中的資料

  • 要替換查詢中的資料,則要使用查詢中 case表達式
  • 格式為:
  • 資料庫個人筆記(3) -- 基礎篇

例:

use pxscj 
go
select 學号,姓名,等級 = 
	case 
		when 總學分 is null then '尚未選課'
		when 總學分 < 50 then '不及格'
		when 總學分 >= 50 and 總學分 <=53 then '及格'
		else '優秀'
	end
	from xsb
	where 專業 = '計算機'
go
           
  • 消除重複行

    對表隻選擇某些列時,會出現重複行,為了消除重複的資料,我們使用 distinct

select distinct 學号,總學分
	from xsb
           
  • 限制結果集傳回行數

如果select 語句傳回的結果集非常的多,那麼可以使用 TOP 選項限制其傳回的行數。

例:

select top 6 姓名,專業,總學分
	from xsb
go
           

聚合函數

  • 最重要,最常用的五個 : SUM AVG MAX MIN COUNT
例
select count(*) as '學生總數'
	from xsb

select sum(成績) as '課程101的總成績'
	from xsb
	where 課程号 = '101'

select avg(成績) as '課程101的平均成績'
	from xsb
	where 課程号 = '101'
select max(最大成績) as '課程101的最大成績'
	from xsb 
	where 課程号 = '101'
	
select min(最小成績) as '課程101的最小成績'
	from xsb 
	where 課程号 = '101'
           
  • 模式比對 (模糊搜尋)
  • 資料庫個人筆記(3) -- 基礎篇
select *
	from xsb
	where 姓名 like '王_'
go
查詢xsb 表中姓王 的同學的情況
           
  • 範圍比較 (in)
資料庫個人筆記(3) -- 基礎篇
select *
	from xsb
	where 專業 in ('計算機','通信工程')
go
查詢 xsb 表中專業為 ‘計算機’或‘通信工程’ 專業學生的情況。
           

下一篇 寫子查詢

繼續閱讀