WITH TELLER_ACCOUNT_MAIN AS(SELECT 1 teller_by,to_date('2018-05-01 13:23:55','yyyy-mm-dd hh24:mi:ss')update_time,500 total_mount FROM dual
成都創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網站、成都做網站、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的開平網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
UNION ALL SELECT 1 teller_by,to_date('2018-05-02 16:20:10','yyyy-mm-dd hh24:mi:ss'),777 total_mount FROM dual
)
,SYS_USER AS (SELECT 1 teller_by,'張三'NAME FROM dual
UNION ALL SELECT 2 teller_by,'李四'NAME FROM dual
)
--上面是虛擬的數據 ,因為我沒有你的表
SELECT A.*,nvl(B.total_mount,0)total_mount FROM SYS_USER A LEFT JOIN (SELECT t.*
,row_number() OVER (PARTITION BY teller_by ORDER BY update_time DESC)rn
FROM TELLER_ACCOUNT_MAIN t)B ON A.teller_by=B.teller_by AND B.rn=1;
具體的代碼如下:
/// summary
/// Oracle 的數據庫連接字符串.
/// /summary
private const String connString =
@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.210)
(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User
Id=TEST;Password=TEST123";
192.168.1.210 是 Oracle?數據庫服務器的 IP 地址
1521 是 默認的端口號
SERVICE_NAME=ORCL 意思是Oracle 數據庫服務是ORCL
后面就是用戶名密碼了。
擴展資料:
部分描述:
abstract:可以和類、方法、屬性、索引器及事件一起使用,標識一個可以擴展但不能被實體化的、必須被實現的類或方法。
as:一個轉換操作符,如果轉換失敗,就返回null。
base:用于訪問被派生類或構造中的同名成員隱藏的基類成員。
catch:定義一個代碼塊,在特定類型異常拋出時,執行塊內代碼。
checked:既是操作符又是語句,確保編譯器運行時,檢查整數類型操作或轉換時出現的溢出。
const:標識一個可在編譯時計算出來的變量值,即一經指派不可修改的值。
delegate:指定一個聲明為一種委托類型。委托把方法封裝為可調用實體,能在委托實體中調用。
enum:表示一個已命名常量群集的值類型。
event:允許一個類或對象提供通知的成員,他必須是委托類型。
explicit:一個定義用戶自定義轉換操作符的操作符,通常用來將內建類型轉換為用戶定義類型或反向操作,必須再轉換時調用顯示轉換操作符。
extern:標識一個將在外部(通常不是c#語言)實現的方法。
參考資料來源:百度百科-c#
public void testOracle()
{
Connection con = null;// 創建一個數據庫連接
PreparedStatement pre = null;// 創建預編譯語句對象,一般都是用這個而不用Statement
ResultSet result = null;// 創建一個結果集對象
try
{
? ?Class.forName("oracle.jdbc.driver.OracleDriver");// 加載Oracle驅動程序
? ?System.out.println("開始嘗試連接數據庫!");
? ?String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本機地址,XE是精簡版Oracle的默認數據庫名
? ?String user = "system";// 用戶名,系統默認的賬戶名
? ?String password = "147";// 你安裝時選設置的密碼
? ?con = DriverManager.getConnection(url, user, password);// 獲取連接
? ?System.out.println("連接成功!");
? ?String sql = "select * from student where name=?";// 預編譯語句,“?”代表參數
? ?pre = con.prepareStatement(sql);// 實例化預編譯語句
? ?pre.setString(1, "劉顯安");// 設置參數,前面的1表示參數的索引,而不是表中列名的索引
? ?result = pre.executeQuery();// 執行查詢,注意括號中不需要再加參數
? ?while (result.next())
? ? ? ?// 當結果集不為空時
? ? ? ?System.out.println("學號:" + result.getInt("id") + "姓名:"
? ? ? ? ? ? ? ?+ result.getString("name"));
}
catch (Exception e)
{
? ?e.printStackTrace();
}
finally
{
? ?try
? ?{
? ? ? ?// 逐一將上面的幾個對象關閉,因為不關閉的話會影響性能、并且占用資源
? ? ? ?// 注意關閉的順序,最后使用的最先關閉
? ? ? ?if (result != null)
? ? ? ? ? ?result.close();
? ? ? ?if (pre != null)
? ? ? ? ? ?pre.close();
? ? ? ?if (con != null)
? ? ? ? ? ?con.close();
? ? ? ?System.out.println("數據庫連接已關閉!");
? ?}
? ?catch (Exception e)
? ?{
? ? ? ?e.printStackTrace();
? ?}
}
}
當代碼開發人員只寫join的時候,SQL解析器自動將其默認為內關聯,既不是左關聯也不是右關聯。
左關聯必須用Left join,右關聯必須用right join。
跟my sql一樣的關聯,這些關聯查詢都是一樣的,例如內聯查詢,左聯查詢
內聯查詢:
想把用戶的積分信息, 等級,都列出來,一般會出現:
select * from emd_mteller t1,emd_mrole t2 where t1.teller_id = t2.teller_id
select * from emd_mteller t1 inner join emd_mrole t2 on t1.teller_id = t2.teller_id
左聯查詢:
left join 或者left outer join
返回左表中的所有行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值(null)。
Select * from t1 left outer join t3 on t1.userid = t2.userid
網站名稱:ORAcle左聯怎么寫,oracle 左關聯寫法
文章轉載:http://vcdvsql.cn/article40/hssgeo.html
成都網站建設公司_創新互聯,為您提供動態網站、搜索引擎優化、云服務器、全網營銷推廣、虛擬主機、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯