在前兩篇中,案例只涉及到簡單的數值,這樣的函式稱為【標量函式】
這裡的函式,可以簡單的理解為它是乙個可以進行計算的工具
這次案例我們例舉乙個簡單的【錶值函式】
我想達到的目的是:
輸入「1個員工的id」,能返回(輸出)「該員工的departmentname」和「該員工的name」
【1.建立函式】
【2.查詢函式】------------------------------------建立函式 dbo.employee_department-------------------
eg:create
function dbo.employee_department(
@employeeid
int)
---create function 函式名(@引數 資料型別)
returns
table
---這行為固定格式
asreturn
---當該函式是【錶值函式】的時候,這個return後面不用寫別的東西
select t1.departmentname as
'所住公寓'
,t2.name as
'員工'
---查 departmentname列 命名為 所住公寓 ;name列 命名為 員工
from dbo.department t1 inner
join dbo.employee t2 on t2.departmentid = t1.departmentid
where t2.employeeid=
@employeeid
---將 具體的 引數值@employeeid 賦值給 t2.employeeid ,根據這個值,在關聯的兩張表裡,查對應 departmentname和 name的資訊
返回結果------------------------------------查詢函式 dbo.employee_department-------------------
select
*from dbo.employee_department(
1003
)---查詢員工編號為1003的員工的 departmentname和 name資訊
此時發現 departmentname 列命名不符合實際,需要對函式進行修改
【3.修改函式】
再次執行查詢語句,返回結果如下圖:------------------------------------修改函式 dbo.employee_department-------------------
alter
function dbo.employee_department(
@employeeid
int)
returns
table
asreturn
select t1.departmentname as
'系別'
,t2.name as
'員工'
---將'所住公寓' 改為 '系別'
from dbo.department t1 inner
join dbo.employee t2 on t2.departmentid = t1.departmentid
where t2.employeeid=
@employeeid
【4.刪除函式】
當我們想刪除該函式時,執行下面的語句即可:
------------------------------------刪除函式 dbo.employee_department-------------------
drop
function dbo.employee_department
報表sql語句經典的書寫模式
一般的報表查詢要用到 join left 或子查詢 但是我習慣用join的方式 select a.colum1 b.colum2,c.colum3 from tb1 a join left select colum2 from tb2 where 1 1 b on a.colum id b.colu...
簡單的sql語句
選擇 select from table1 where 列名 非數字的用單引號圍起來 例如 sql select from student where sid stu.getid 在表student中選出符合的所有行 resultset rs sta.executequery sql 執行以上sql...
簡單的sql語句
格式 create 庫名 表名 屬性 資料型別 長度限制 char為限定字元長度,僅能使用符合長度的字元,varchar為最大限制,只要長度小於限制即可 多個屬性之間用逗號間隔,最後乙個屬性後不能加逗號。格式 insert into 表名 屬性a,屬性b.values 屬性a的值,屬性b的值.模糊查...