sql例題
『壹』 sql如何做除法
這樣:
select
t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'] )ASPERCENTAGE
FROM (代碼1) t
group by [origin-destination],t.[SH/LANE/MOT]
having t.[SH/LANE/MOT] /count(*) <= 0.01
註:兩個count都是int,相除會沒有小數部分,所以應該都給轉成帶小數的數。
cast as numeric(10,4) 。
(1)sql例題擴展閱讀:
SQL中除法運算的實現
R(X,Y)÷S(Y,Z)的運算用結構化語言SQL 語句可表達為下列形式:
select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)
『貳』 在SQL Server資料庫中 存儲過程是什麼,希望給點例題
存儲過程不僅sqlserver里有、其他dbms也有、只是語法有小出入。
存儲過程是一段存儲在系統中可隨時使用的可帶參數的SQL執行語句或程序段。
使用存儲過程可以避免重復的填寫SQL語句、可以快速的得到符合條件的某段SQL語句的執行結果。
例子(MSSQL):比如想實現一個表a(aid int,atime datetime)輸入aid的值得到對應的atime的值
創建:
create proc proc_test //創建過程
@aid int //定義一個參數(默認為in參數)
as
declare @atime datetime //定義一個變數用於接收返回值(游標在這里定義)
begin
select @atime=atime from a where aid=@aid //select @xxx=xxx from是給變數賦值、也是sql語句的符合條件值
print @atime //print方法輸出顯示變數
end
執行:
exec proc_test a表中aid的任意一個值
以後想實現通過輸入aid(或者其他列)的值得到atime(或者其他列)的值、就不用一遍一遍的寫sql語句
這只是一個簡單的應用。如果SQL語句是復雜語句、不是就省事多了?
這個例子只能返回一條記錄、如果想返回多條、需要用游標。
這里暫時只給你簡單應用、你先理解下。
『叄』 1、 解釋關系資料庫中第一範式、第二範式、第三範式的原理; 2、 寫出創建「學生信息管理」的資料庫的sql
1、第一範式:保證列的原子性
第二範式:當復合主鍵時,非主鍵欄位必須與主鍵欄位有直接依賴
第三範式:非主鍵欄位不能有直接依賴關系
2、
create dababase 學生信息管理
或者
create database 學生信息管理
on
(
name='std',
filename=存儲位置路徑,
size=10
)