1、本文以plsql圖形化管理工具為例,使用它連接oracle數(shù)據(jù)庫。當(dāng)點開plsql的時候,就需要輸入用戶名、密碼、數(shù)據(jù)庫然后連接。如果連接成功,就能查看里面的表等等操作,如果連接不成功,就輸入正確的信息再次嘗試。

成都創(chuàng)新互聯(lián)公司主營吉安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),吉安h5小程序開發(fā)搭建,吉安網(wǎng)站營銷推廣歡迎吉安等地區(qū)企業(yè)咨詢
2、連接上數(shù)據(jù)庫之后,默認會看到這個主界面。頂部是各種操作菜單,左側(cè)第一個框是最近打開的一些信息,第二個框里面的才是數(shù)據(jù)庫的所有信息。
3、如果不想看到這么多的框,只想專注于數(shù)據(jù)庫的相關(guān)信息,就可以將其他框關(guān)閉或者隱藏,這兩種方式只是點擊不同的按鈕而已,具體參見截圖。
4、在oracle數(shù)據(jù)庫中,用戶是屬于表空間的,因此,當(dāng)使用某一個用戶登錄之后,看到的其實就是這個用戶默認的表空間中的信息。這個時候,可以展開【Tables】菜單,就能看到當(dāng)前表空間下的所有表,如果表的數(shù)量不多,就可以直接一個一個的數(shù)出數(shù)量。
5、如果當(dāng)前用戶具有管理員權(quán)限,還可以在【Tablespaces】菜單下面,找到所有的表空間名稱,在每個表空間名稱下面還有【Tables】菜單,這里面會顯示這個表空間下面的所有用戶和表。
注意,對于同一個表空間下的相同數(shù)據(jù)庫,在這里會顯示每個用戶都擁有一套表結(jié)構(gòu)
6、如果想直接獲得表空間中的表數(shù)量,可以點擊左上角的新建圖標(biāo),選擇【SQLWindow】,右側(cè)就會出現(xiàn)一個空白的SQL語句書寫窗口
7、獲取指定表空間下表數(shù)量(這是包含了此表空間下的所有用戶的表)
selectcount(1)fromall_tableswheretablespace_name='表空間名稱';獲取指定表空間下,指定用戶的表數(shù)量。
selectcount(1)fromall_tableswheretablespace_name='表空間名稱'andowner='用戶名稱';如果將count(1)換成星號,就可以查詢表空間下的所有表名信息等。
查詢,首先你得清楚你需要什么數(shù)據(jù),以及你所需要的數(shù)據(jù),存在于哪些表中,或者說與哪些表有關(guān)聯(lián)。
SQL 語句基本查詢語法: 不加條件查詢,select * from 表名 ; 加條件查詢:select * from 表名 where 滿足的條件;
多表查詢 :select a.* ,b.* from 表1 a,表2 b where a.字段=b.字段;
覺得你應(yīng)該先弄清楚oracle的常規(guī)數(shù)據(jù)字典的結(jié)構(gòu),像9i里的常規(guī)數(shù)據(jù)字典中對象名稱就有以USER,ALL,DBA為前綴的對象。
以USER為例,我們查該對象下有些什么表,就應(yīng)該執(zhí)行下列的語句:
SQLselect table_name from user_tables;
類似的,你可以進行替換。:)
如果你想查數(shù)據(jù)庫中所有的表的話,可以查詢
SELECT * FROM dba_tables
如果你想查詢數(shù)據(jù)庫中某個用戶下的表的話,也可以登錄這個用戶,再查詢:
SELECT * FROM USER_TABLES
要想導(dǎo)入外部sql語句可以用命令
sql @e:\文件名.sql
如你想保存 select * from tablename;語句的結(jié)果,可以在sql*plus 里面這樣:
SPOOL c:\test.sql //這是保存文件的位置
select * from tablename;
SPOOL OFF
弄個字符串變量,設(shè)個游標(biāo),用括號里那一串;
然后遍歷表名,每找到一個表名,就在字符串變量里拼上一段:=
'select
*
from
'||table_name||';',
然后用EXECUTE
IMMEDIATE執(zhí)行;
然后讀下一個表名,直至遍歷完畢。
大致就是這么個意思。
select e.empno, e.ename, d.deptno, d.dname
from emp e, dept d
where e.deptno = d.deptno;
在之前所使用的查詢操作之中,都是從一張表之中查詢出所需要的內(nèi)容,那么如果現(xiàn)在一個查詢語句需要顯示多張表的數(shù)據(jù),則就必須應(yīng)用到多表查詢的操作,而多表查詢的語法如下:
SELECT [DISTINCT] * | 字段 [別名] [,字段 [別名] ,…] FROM 表名稱 [別名], [表名稱 [別名] ,…] [WHERE 條件(S)] [ORDER BY 排序字段 [ASC|DESC] [,排序字段 [ASC|DESC] ,…]]。
擴展資料:
Oracle 常用的關(guān)聯(lián)查詢:
Oracle外連接:
(1)左外連接 (左邊的表不加限制)。
(2)右外連接(右邊的表不加限制)。
(3)全外連接(左右兩表都不加限制)。
outer join則會返回每個滿足第一個(頂端)輸入與第二個(底端)輸入的聯(lián)接的行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。
外連接分為三種: 左外連接,右外連接,全外連接。 對應(yīng)SQL:LEFT/RIGHT/FULL OUTER JOIN。 通常我們省略outer 這個關(guān)鍵字。 寫成:LEFT/RIGHT/FULL JOIN。
在左外連接和右外連接時都會以一張表為基表,該表的內(nèi)容會全部顯示,然后加上兩張表匹配的內(nèi)容。 如果基表的數(shù)據(jù)在另一張表沒有記錄。 那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。
我對你的表進行了整理下,沒有使用中文,都是英文編寫,嚴格按照企業(yè)的要求,這也是比較好的習(xí)慣。
以下是建表語句:
create?table?T_USER_INFO
(USERID?number(5)?primary?key,
USERNAME?varchar2(10),
CREDENTIALS?varchar2(20));
create?table?T_CHARGING
(CHARGINGID?number(5)?primary?key,
USERID?number(5),
MONEY?number(5),
CHARGINGDATE?date);
insert?into?T_USER_INFO?values(1,?'張三',?'222222');
insert?into?T_USER_INFO?values(2,?'李四',?'333333');
insert?into?T_CHARGING?values(1,?1,?300,?to_date('2008-9-1',?'yyyy-mm-dd'));
insert?into?T_CHARGING?values(2,?1,?300,?to_date('2009-9-1',?'yyyy-mm-dd'));
insert?into?T_CHARGING?values(3,?1,?300,?to_date('2010-9-1',?'yyyy-mm-dd'));
insert?into?T_CHARGING?values(4,?2,?400,?to_date('2014-9-1',?'yyyy-mm-dd'));
用戶信息表:
計費表:
接下來是查詢語句,分了幾步,注意理解。
1、查詢每個人的最后繳費時間
select?USERID,?max(CHARGINGDATE)?LASTDATE?
from??T_CHARGING?
group?by?USERID
執(zhí)行 結(jié)果:
2、將第一步得到的結(jié)果與用戶信息關(guān)聯(lián)查詢
select?u.USERID,?u.USERNAME,?u.CREDENTIALS,?t.LASTDATE?
from?T_USER_INFO?u,?(select?USERID,?max(CHARGINGDATE)?LASTDATE?
from??T_CHARGING?group?by?USERID)?t?
where?t.USERID?=?u.USERID
執(zhí)行結(jié)果:
3、將第二步得到的結(jié)果與計費表進行關(guān)聯(lián)查詢。
select?t0.USERID,?t0.USERNAME,?t0.CREDENTIALS,?t0.LASTDATE,?tc.MONEY
from?(select?u.USERID,?u.USERNAME,?u.CREDENTIALS,?t.LASTDATE?
from?T_USER_INFO?u,?(select?USERID,?max(CHARGINGDATE)?LASTDATE?
from??T_CHARGING?
group?by?USERID)?t?
where?t.USERID?=?u.USERID)?t0,?T_CHARGING?tc?
where?tc.USERID?=?t0.USERID?and?t0.LASTDATE?=?tc.CHARGINGDATE;
執(zhí)行結(jié)果:
網(wǎng)站題目:oracle多表怎么查詢 oracle查看全部表
文章URL:http://chinadenli.net/article26/hpeecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、響應(yīng)式網(wǎng)站、用戶體驗、做網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)