举例: def nove(n,a,b,c): if n == 1: print(a,'------------>',c) else: nove(n-1,a,c,b) nove(1,a,b,c) nove(n-1,b,a,c) 执行输出结果: nove(3, 'A', 'B', 'C') # A --> C # A --> B # C --> B # A --> C # B --> A # B --> C # A --> C 执行过程详解: 1 def nov
ORACLE支持常規的用CTE遞歸的方式實現遞歸查詢,也有自己特有的查詢方式,ORACLE文檔中叫層次數據查詢. 這裏通過一個簡單的样例來介紹這兩種查詢方式. 數據準備: CREATE TABLE TBL_TEST( ID NUMBER, NAME VARCHAR2(100), PID NUMBER); / BEGIN INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID)
三元運算 什麼是三元運算?請看下圖說明 透過上圖說明後,可以得出一個三元運算公式: result = 值1 if 條件 else 值2, 如果鯈件為真: result = 值1 如果鯈件為假: result = 值2 如果不寫三元運算的話,那原本的代碼就會寫的較為冗長,就像下面的代碼 #!/usr/bin/env python3 # -*- coding:utf-8 -*- a, b, c = 1, 3, 5 if a > b: d = a else: d = c print(d) ------
需求: MSSQL,列出服務實例中全部數據庫的例如以下信息: 數據庫ID.數據庫名.創建日期.數據文件類型.數據文件大小.數據庫總大小.文件所在路徑. 寫法(後面的百分比為所花時間占比): -- 连接子查询 (47%) WITH cte_TotalSize AS ( SELECT database_id ,CAST(SUM(size) AS FLOAT)/128 AS [TotalSize(MB)] FROM sys.master_files GROUP BY database_id ) SEL
12. “Mexico 墨西哥”的首都是”Mexico City”. 顯示所有國家名字,其首都是國家名字加上”City”. concat函數 函數concat 可以用來合拼兩個或以上的字串. : SELECT name FROM world WHERE capital LIKE (concat(name, ' City'))