【正文】
說明:父查詢調(diào)用子查詢只執(zhí)行一次. 到100的SQL語句ORACLE處理每個結(jié)果集只有一個ROWNUM字段標明它的邏輯位置, 并且只能 用ROWNUM80。TENNESSEE39。? 當查詢條件是不確定的條件時DML(insert, update,delete)語句里也可用子查詢 HAVING里也可用子查詢 例如: 并集UNION(去掉重復(fù)記錄)并集UNION ALL(不去掉重復(fù)記錄)10J2EE zxw 差集MINUS, 交集INTERSECT 先執(zhí)行括號里面的SQL語句,一層層到外面 內(nèi)部查詢只執(zhí)行一次如果里層的結(jié)果集返回多個,不能用= = select title,avg(salary)from s_emp group by title Having avg(salary)=(select min(avg(salary))from s_emp group by title)。找出某表里字段重復(fù)的記錄數(shù), 并顯示SQL select(duplicate field names)from table_namegroup by(list out fields)having count(*)1。VP%39。SELECT COUNT(字段名)FROM table。SELECT COUNT(常量)FROM table。說明:關(guān)閉自動分析統(tǒng)計五、集合函數(shù)經(jīng)常和group by一起使用 AVG(DISTINCT | ALL | N)取平均值COUNT(DISTINCT | ALL | N | expr | *)統(tǒng)計數(shù)量 MAX(DISTINCT | ALL | N)取最大值 MIN(DISTINCT | ALL | N)取最小值 SUM(DISTINCT | ALL | N)取合計值 9J2EE zxw STDDEV(DISTINCT | ALL | N)取偏差值,如果組里選擇的內(nèi)容都相同,結(jié)果為0 VARIANCE(DISTINCT | ALL | N)取平方偏差值 SELECT column, group_function FROM table WHERE condition GROUP BY group_by_expression HAVING group_condition ORDER BY column。一般來講,我們的SQL語句應(yīng)該避免大表的全表掃描。說明:打開自動分析統(tǒng)計,并顯示SQL語句的運行結(jié)果 SQL set autotrace traceonly。一般用戶下運行/ORACLE_HOME/rdbms/admin/產(chǎn)生plan_table SQL set time on。連接N個表, 需要N1個連接操作被連接的表最好建一個單字符的別名, 字段名前加上這個單字符的別名 BETWEEN..AND..比用 = AND 有外連接時, 不能用OR或IN的比較操作 /ORACLE_HOME/sqlplus/admin/ 產(chǎn)生plustrace角色Sys用戶下把此角色賦予一般用戶 SQL grant plustrace to amp。null39。有(+)號的字段位置自動補空值 連接的分類: 等于的連接 = 不等于的連接!= BETWEEN … AND … IN 注意IN和OR不能一起用 8J2EE zxw 外連接 有一個字段名(+), 沒有滿足的條件補空值 自連接 同一個表自己跟自己連接 例如找重復(fù)記錄 刪除table_name表里字段名重復(fù)的記錄: SQLdelete from table_name t1 where (select min(rowid)from table_name t2 where = group by having count() 1)。第五篇:黑馬程序員c語言教程:Oracle概念四、從多個表里選取數(shù)據(jù)記錄 簡單的連接語法: SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE = [ AND ……]。使用dropindex刪除索引使用dropindex刪除索引的基本語法格式如下所示:drop index 索引名 on表名。上述SQL語句執(zhí)行后,可以使用show create table語句查看表結(jié)構(gòu),來確認索引是否已經(jīng)成功被刪除。刪除索引由于索引會占用一定的磁盤空間,因此,為了避免影響數(shù)據(jù)庫性能,應(yīng)該及時刪除不再使用的索引。使用alter table語句在t8表的space字段上,創(chuàng)建名稱為spatialidx的空間索引,SQL語句如下所示:alter table t8 add spatial index spatialidx(space)。6)創(chuàng)建空間索引【例】創(chuàng)建表t8,在表中的space字段上創(chuàng)建名稱為spatialidx的空間索引。接下來使用alter table語句在book表的info字段上創(chuàng)建名稱為fulltextidx的全文索引,SQL語句如下所示:alter table book add fulltext indexfulltextidx(info)。SQL語句如下所示:drop table book。5)創(chuàng)建全文索引【例】刪除表book,重新創(chuàng)建表book,在book表中的info字段上建立全文索引。4)創(chuàng)建多列索引【例】在book表中的authors字段和info字段上建立一個名稱為mulitidx的多列索引,SQL語句如下所示:alter table book add indexmultidx(authors(20), info(50))。3)創(chuàng)建單列索引【例】在book表中的ment字段上建立一個名稱為singleidx的單列索引,SQL語句如下所示:alter table book add indexsingleidx(ment(50))。2)創(chuàng)建唯一性索引【例】在book表中的bookid字段上建立一個名稱為uniqueidx的唯一性索引,SQL語句如下:alter table book add unique uniqueidx(bookid)。創(chuàng)建好數(shù)據(jù)表book后,就可以使用alter table語句在已存在的數(shù)據(jù)表中創(chuàng)建索引了,具體如下:1)創(chuàng)建普通索引【例】在表中的bookid字段上創(chuàng)建名稱為index_id的普通索引,SQL語句如下:alter table book add index index_id(bookid)。接下來,同樣以book表為例,對不同類型的索引進行說明,為了使book表不包含任何索引,首先刪除book表,SQL語句如下:drop table book。使用alter table語句在已經(jīng)存在的表上創(chuàng)建索引在已經(jīng)存在的表中創(chuàng)建索引,除了可以使用create index語句外,還可以使用alter table語句來完成。使用create index 語句在t7表的g字段上,創(chuàng)建名稱為spatialidx的空間索引,SQL語句如下所示:create spatial index spatialidx on t7(g)。6)創(chuàng)建空間索引【例】創(chuàng)建表t7,在表中的g字段上創(chuàng)建名稱為spatialidx的空間索引。接下來使用create index 語句在book表的info字段上創(chuàng)建名稱為fulltextidx的全文索引,SQL語句如下所示:create fulltext indexfulltextidx on book(info)。SQL語句如下所示:drop table book。5)創(chuàng)建全文索引【例】刪除表book,重新創(chuàng)建表book,在book表中的info字段上建立全文索引。4)創(chuàng)建多列索引【例】在book表中的authors字段和info字段上建立一個名稱為mulitidx的多列索引,SQL語句如下所示:create index mulitidxon book(authors(20), info(20))。3)創(chuàng)建單列索引【例】在book表中的ment字段上建立一個名稱為singleidx的單列索引,SQL語句如下所示:create indexsingleidx on book(ment)。2)創(chuàng)建唯一性索引【例】在book表中的bookid字段上建立一個名稱為uniqueidx的唯一性索引,SQL語句如下:create unique index uniqueidx on book(bookid)。創(chuàng)建好數(shù)據(jù)表book后,通過具體案例演示如何使用create index語句在已經(jīng)存在的數(shù)據(jù)表中創(chuàng)建索引,具體如下:1)創(chuàng)建普通索引【例】在book表中的bookid字段上建立一個名稱為index_id的普通索引,SQL語句如下:create index index_id on book(bookid)。在上述語法格式中,unique、fulltext和spatial都是可選參數(shù),分別用于表示唯一性索引、全文索引和空間索引;index用于指明字段為索引。需要注意的是,創(chuàng)建空間索引時,所在字段的值不能為空值,并且表的存儲引擎為MyISAM。6)創(chuàng)建空間索引【例】創(chuàng)建一個表名為t6的表,在空間類型為geometry的字段上創(chuàng)建空間索引,SQL語句如下:create table t6(id int,space geometry not null, spatial index sp(space))engine=MyISAM。為了驗證這個說法是否正確,將id字段作為查詢條件,通過explain語句查可看索引的使用情況,SQL語句如下:explain select * from t5 where id = 1。name varchar(20)not null, score float, indexnulti(id, name(20))這樣,即可在id和name字段上建立一個名為multi的多列索引。name varchar(20)not null, score float, index single_name(name(20))這樣