日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

lyt经典版MySQL基础——函数

發布時間:2024/1/4 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 lyt经典版MySQL基础——函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  1 #函數
  2 /*
  3 函數:類似于java中的方法
  4 好處:
  5 1、提高代碼的重用性
  6 2、簡化操作
  7 
  8 含義:一組預先編譯好的SQL語句的集合,理解成批處理語句
  9 1、提高代碼的重用性
 10 2、簡化操作
 11 3、減少了編譯次數并且減少了和數據庫服務器的連接次數,提高了效率
 12 
 13 區別:
 14 存儲過程:可以有0個返回,也可以有多個返回,適合做批量插入、批量更新
 15 函數:有且僅有1個返回,適合做處理數據后返回一個結果
 16 */
 17 
 18 #一、創建語法
 19 CREATE FUNCTION 函數名(參數列表) RETURNS 返回類型
 20 BEGIN
 21     函數體
 22 END
 23 /*
 24 注意:
 25 1.參數列表 包含兩部分:
 26 參數名 參數類型
 27 
 28 2.函數體:肯定會有return語句,如果沒有會報錯
 29 如果return語句沒有放在函數體的最后也不報錯,但不建議
 30 
 31 return 值;
 32 
 33 3.函數體中僅有一句話,則可以省略begin end
 34 4.使用delimiter語句設置結束標記
 35 */
 36 
 37 #二、調用語法
 38 SELECT 函數名(參數列表)
 39 
 40 #---------------------案例演示------------------------
 41 #1.無參有返回
 42 #案例:返回公司的員工個數
 43 DELIMITER $
 44 CREATE FUNCTION myf1() RETURNS INT
 45 BEGIN
 46     DECLARE c INT DEFAULT 0; #定義局部變量
 47     SELECT COUNT(*) INTO c #賦值
 48     FROM employees;
 49     RETURN c;
 50 END $
 51 
 52 SELECT myf1()$
 53 
 54 #2.有參有返回
 55 #案例1:根據員工名,返回他的工資
 56 DELIMITER $
 57 CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE
 58 BEGIN
 59     SET @sal=0; #定義用戶變量
 60     SELECT salary INTO @sal #賦值
 61     FROM employees
 62     WHERE last_name=empName;
 63     RETURN @sal;
 64 END $
 65 
 66 SELECT myf2('kochhar') $
 67 
 68 #案例2:根據部門名,返回該部門的平均工資
 69 DELIMITER $
 70 CREATE FUNCTION myf3(deptName VARCHAR(20)) RETURNS DOUBLE
 71 BEGIN
 72     DECLARE sal DOUBLE;
 73     SELECT AVG(salary) INTO sal
 74     FROM employees e JOIN departments d ON e.department_id=d.department_id
 75     WHERE department_name=deptName;
 76     RETURN sal;
 77 END $
 78 
 79 SELECT myf3('IT')$
 80 
 81 #三、查看函數
 82 SHOW CREATE FUNCTION myf3;
 83 
 84 #四、刪除函數
 85 DROP FUNCTION myf3;
 86 
 87 #案例
 88 #1、創建函數,實現傳入兩個float,返回二者之和
 89 DELIMITER $
 90 CREATE FUNCTION myef1(a FLOAT,b FLOAT) RETURNS FLOAT
 91 BEGIN
 92     DECLARE c FLOAT DEFAULT 0;
 93     SET c=a+b;
 94     RETURN c;
 95 END $
 96 
 97 SELECT myef1(1.1,1.2)$
 98 #2、創建函數,實現傳入工種名,返回該工種的員工人數
 99 DELIMITER $
100 CREATE FUNCTION myef2(jobName VARCHAR(20)) RETURNS INT
101 BEGIN
102     DECLARE c INT DEFAULT 0;
103     SELECT COUNT(*) INTO c
104     FROM employees e JOIN jobs j ON e.job_id=j.job_id
105     WHERE job_title=jobName;
106     RETURN c;
107 END $
108 
109 SELECT myef2('Programmer')$
110 #3、創建函數,實現傳入員工名,返回該員工的領導名
111 DELIMITER $
112 CREATE FUNCTION myef3(empName VARCHAR(30)) RETURNS VARCHAR
113 BEGIN
114     SET @mname='abc';
115     SELECT m.last_name INTO @mname
116     FROM employees m JOIN employees e
117     ON e.manager_id=m.employee_id
118     WHERE e.last_name=empName;
119     RETURN @mname;
120 END $
121 
122 SELECT myef3('K_ing')$

每天進步一點點,快樂生活多一點。

總結

以上是生活随笔為你收集整理的lyt经典版MySQL基础——函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。