freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle完全學(xué)習(xí)手冊-資料下載頁

2025-06-25 07:16本頁面
  

【正文】 或視圖的名稱列表。在FROM子句中,可以指定多個(gè)表或視圖,每個(gè)表或視圖都可以指定子查詢和別名。WHERE子句在執(zhí)行簡單查詢語句時(shí),如果沒有指定任何限制條件,那么執(zhí)行SELECT語句將會(huì)檢索表的所有行。但是在實(shí)際應(yīng)用中,用戶往往只需要獲得某些行的數(shù)據(jù)。例如檢索雇員編號(hào)為7800的雇員信息,或者檢索部門號(hào)為10的所有雇員信息等。在執(zhí)行查詢操作時(shí),通過使用WHERE子句,可以指定查詢條件,限制查詢結(jié)果。WHERE子句中的操作符比較操作符說明=、等于、大于、小于、!=不等于=大于等于=小于等于ANY與一個(gè)列表中的任何值進(jìn)行比較ALL與一個(gè)列表中的所有值進(jìn)行比較BETWEEN指定條件在兩個(gè)值之間,包括邊界值LIKE匹配的字符樣式,一般用于模糊查詢IN匹配的一個(gè)列表值IS NULL匹配空值BETWEEN操作符在WHERE子句中可以使用BETWEEN操作符,用來檢索列值包含在指定區(qū)間內(nèi)的數(shù)據(jù)行。這個(gè)區(qū)間是閉區(qū)間,這就意味著包含區(qū)間的兩個(gè)邊界值。【例】使用BETWEEN操作符,從scott用戶的emp表中,檢索empno列的值在7800和7900之間的記錄。如下:SELECT * FROM WHERE empno BETWEEN 7800 AND 7900 。IN操作符在WHERE子句中可以使用IN操作符,用來檢索某列的值在某個(gè)列表中的數(shù)據(jù)行。【例】對(duì)scott用戶的emp表進(jìn)行檢索。在WHERE子句中使用IN操作符,檢索empno列的值為7787800或7900的記錄。如下:SELECT * FROM WHERE empno IN(7788,7800,7900)。 LIKE操作符在WHERE子句中可以使用LIKE操作符,用來查看某一列中的字符串是否匹配指定的模式。所匹配的模式可以使用普通字符和下面兩個(gè)通配符的組合指定。161。 下劃線字符(_) 匹配指定位置的一個(gè)字符。161。 百分號(hào)字符(%) 匹配從指定位置開始的任意個(gè)字符。如果需要對(duì)一個(gè)字符串中的下劃線和百分號(hào)字符進(jìn)行文本匹配,可以使用ESCAPE選項(xiàng)標(biāo)識(shí)這些字符。ESCAPE后面指定一個(gè)字符,該字符用來告訴數(shù)據(jù)庫,在字符串中該指定字符后面的字符表示要搜索的內(nèi)容,從而區(qū)分要搜索的字符和通配符。例如:‘%\%%’ ESCAPE ‘\‘ 。其中,在SCAPE后面指定反斜杠(\)字符,那么在前面的字符串“‘%\%%’”中,反斜杠后面的字符(也就是第二個(gè)%)表示要搜索的實(shí)際字符。第一個(gè)%是通配符,第3個(gè)%也是通配符,可以匹配任意個(gè)字符。所以,字符串“‘%\%%’”用于匹配任意包含百分號(hào)(%)的字符串。DELETE語句當(dāng)不再需要表中的某些數(shù)據(jù)時(shí),應(yīng)該及時(shí)刪除該數(shù)據(jù),以釋放該數(shù)據(jù)所占用的空間。在Oracle系統(tǒng)中,刪除表中的數(shù)據(jù)可以使用DELETE語句。該語句的一般使用語法如下:DELETE [ FROM ] [ schema. ] table_name [ WHERE condition ] 。其中,DELETE FROM子句用來指定將要?jiǎng)h除的數(shù)據(jù)所在的表;WHERE子句用來指定將要?jiǎng)h除的數(shù)據(jù)所要滿足的條件,可以是表達(dá)式或子查詢。如果不指定WHERE子句,則將從指定的表中刪除所有的行。使用DELETE語句,只是從表中刪除數(shù)據(jù),不會(huì)刪除表結(jié)構(gòu)。如果要?jiǎng)h除表結(jié)構(gòu),則應(yīng)該使用DROP TABLE語句。 TRUNCATE語句使用TRUNCATE語句(DDL語言)可以刪除表中的所有記錄。使用TRUNCATE語句刪除數(shù)據(jù)時(shí),通常要比使用DELETE語句快得多,這是因?yàn)槭褂肨RUNCATE語句刪除數(shù)據(jù)時(shí),不會(huì)產(chǎn)生回退信息,因此執(zhí)行TRUNCATE操作也不能回退。在TRUNCATE語句中還可以使用REUSE STORAGE關(guān)鍵字,表示刪除記錄后仍然保存記錄占用的空間;與此相反,如果使用DROP STORAGE 關(guān)鍵字,則表示刪除記錄后立即回收記錄占用的空間。默認(rèn)使用DROP STORAGE關(guān)鍵字。INSERT語句語法在Oracle數(shù)據(jù)庫中,最常見的添加數(shù)據(jù)的方法是使用INSERT語句。與SELECT語句相比,INSERT語句的語法形式要簡單的多。INSERT語句的語法形式如下:INSERT INTO table_name [ ( column1_name [ , column2_name ] … ) ]{ VALUES ( value1 [ , value2 … ] ) | SELECT query … } 。其中:161。 table_name 表示需要添加數(shù)據(jù)的表的名稱。161。 column1_name , column2_name 表示表中的列的名稱。161。 value1,value2 表示為對(duì)應(yīng)列所添加的數(shù)據(jù)。161。 SELECT query 表示一個(gè)SELECT子查詢語句,通過該語句可以實(shí)現(xiàn)把子查詢語句返回的結(jié)果添加到表中。注意在使用INSERT語句向表中插入數(shù)據(jù)時(shí),需要注意以下幾點(diǎn):161。 如果在INSERT INTO后沒有指定列名,那么VALUES子句必須按照表結(jié)構(gòu)中定義的列的次序?yàn)槊總€(gè)列提供值。161。 如果在INSERT INTO子句中指定了列名,那么每一個(gè)指定的列只能有一個(gè)值,并且值的次序必須與表中定義的次序相同。161。 如果在INSERT語句中使用SELECT語句,則INSERT INTO子句中指定的列名必須與SELECT子句中指定的列相匹配。161。 當(dāng)某列的數(shù)據(jù)類型為字符串時(shí),其值應(yīng)該使用單引號(hào)(39。 39。)括起來。添加空值向一個(gè)表中插入一條新紀(jì)錄,其中有的字段沒有提供數(shù)據(jù),在這種情況下,有下面4種可能:161。 如果該字段有一個(gè)默認(rèn)值,該值會(huì)被使用。161。 如果該字段沒有默認(rèn)值,但是可以接受空值,則會(huì)被插入空值。161。 如果該字段沒有默認(rèn)值,而且不能接受空值,那么會(huì)出現(xiàn)錯(cuò)誤。161。 如果該字段是一個(gè)標(biāo)識(shí)字段,那么會(huì)自動(dòng)產(chǎn)生一個(gè)新值。當(dāng)向一個(gè)由標(biāo)識(shí)字段的表中插入新紀(jì)錄時(shí),只要忽略該字段,標(biāo)識(shí)字段會(huì)給自己賦一個(gè)新值。UPDATESQL語言使用UPDATE語句更新或修改滿足條件的現(xiàn)有記錄。一般情況下,UPDATE語句的語法如下:UPDATE table_name SET { column1_name = expression [ , column2_name = expression ] … | ( column1_name[ ,column2_name ] … ) = ( SELECT query ) }[ WHERE condition ] 。語法說明如下:161。 table_name 表示需要更新的表名。161。 SET 用來設(shè)置需要更新的列以及列的新值??梢灾付ǘ鄠€(gè)列,以便一次修改多個(gè)列的值。為需要更新的列分別指定一個(gè)表達(dá)式,表達(dá)式的值即為對(duì)應(yīng)列的值。161。 SELECT query 與INSERT語句中的SELECT子查詢句一樣,在UPDATE語句中也可以使用SELECT子語句獲取相應(yīng)的更新值。161。 WHERE 限定只對(duì)滿足條件的行進(jìn)行更新。MERGE語句使用MERGE語句,可以對(duì)指定的兩個(gè)表執(zhí)行合并操作,其語法如下:MEGER INTO table1_nameUSING table2_name ON join_conditionWHEN MATCHED THEN UPDATE SET …WHEN NOT MATCHED THEN INSERT … VALUES …語法說明如下:161。 table1_name 表示需要合并的目標(biāo)表。161。 table2_name 表示需要合并的源表。161。 join_condition 表示合并條件。161。 WHEN MATCHED THEN UPDATE 表示如果符合合并條件,則執(zhí)行更新操作。161。 WHEN NOT MATCHED THEN INSERT 表示如果不符合合并條件,則執(zhí)行插入操作。UPDATE和INSERT如果只是希望將源表中符合條件的數(shù)據(jù)合并到目標(biāo)表中,可以只使用UPDATE子句;如果只是希望將源表中不符合合并條件的數(shù)據(jù)合并到目標(biāo)表中,可以只使用INSERT子句。在UPDATE子句和INSERT子句中,都可以使用WHERE子句指定更新或插入的條件。這時(shí),對(duì)于合并操作來說,提供了兩層過濾條件,第一層是合并條件,由MERGE語句中的ON子句指定;第二層是UPDATE或INSERT子句中指定的WHERE條件。從而使得合并操作更加靈活和精細(xì)。GROUP BY子句在前面的操作中,都是對(duì)表中的每一行數(shù)據(jù)進(jìn)行單獨(dú)的操作。在有些情況下,需要把一個(gè)表中的行分為多個(gè)組,然后將這個(gè)組作為一個(gè)整體,獲得該組的一些信息,例如獲取各個(gè)部門的員工人數(shù),或某個(gè)部門的員工的平均工資等。這時(shí),就需要使用GROUP BY子句對(duì)表中的數(shù)據(jù)進(jìn)行分組。使用GROUP BY子句,可以根據(jù)表中的某一列或某幾列對(duì)表中的數(shù)據(jù)行進(jìn)行分組,多個(gè)列之間使用逗號(hào)(,)隔開。如果根據(jù)多個(gè)列進(jìn)行分組,Oracle會(huì)首先根據(jù)第一列進(jìn)行分組,然后在分出來的組中再按照第二列進(jìn)行分組,以此類推。對(duì)數(shù)據(jù)分組后,主要是使用一些聚合函數(shù)對(duì)分組后的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。HAVING子句HAVING子句通常與GROUP BY子句一起使用,在完成對(duì)分組結(jié)果的統(tǒng)計(jì)后,可以使用HAVING子句對(duì)分組的結(jié)果進(jìn)行進(jìn)一步的篩選。一個(gè)HAVING子句最多可以包含40個(gè)表達(dá)式,HAVING子句的表達(dá)式之間使用關(guān)鍵字AND和OR分隔。ORDER BY子句在前面檢索的數(shù)據(jù)中,數(shù)據(jù)的順序是按照存儲(chǔ)在表中的物理順序顯示的。這種物理順序通常是比較混亂的。如果希望對(duì)顯示的數(shù)據(jù)進(jìn)行排序,可以使用ORDER BY子句。通過使用ORDER BY子句,可以強(qiáng)制一個(gè)查詢結(jié)果按照升序或者降序進(jìn)行排列。在排序過程中,可以同時(shí)對(duì)多個(gè)列指定排序規(guī)則,多個(gè)列之間使用逗號(hào)(,)隔開。如果使用多個(gè)列進(jìn)行排序,那么列之間的順序非常重要,系統(tǒng)首先按照第一個(gè)列的值進(jìn)行排序,當(dāng)?shù)谝粋€(gè)列的值相同時(shí),再按照第二個(gè)列的值進(jìn)行排序,以此類推。笛卡爾積實(shí)現(xiàn)多個(gè)表的簡單連接 時(shí),如果僅僅通過SELECT子句和FROM子句連接多個(gè)表,那么查詢的結(jié)果將是一個(gè)通過笛卡爾積所生成的表。所謂笛卡爾積所生成的表,就是一個(gè)基本表中每一行與另一個(gè)基本表的每一行連接在一起所生成的表,查詢結(jié)果的行數(shù)是兩個(gè)基本表的行數(shù)的積。使用等號(hào)在笛卡爾積所生成的表中包含了大量的冗余信息。在檢索數(shù)據(jù)時(shí),為了避免冗余信息的出現(xiàn),可以使用WHERE子句限定檢索條件。在WHERE子句中使用等號(hào)(=)可以實(shí)現(xiàn)表的簡單連接,表示第一個(gè)表中的列與第二個(gè)表中相應(yīng)列匹配后才會(huì)在結(jié)果集中顯示。使用表的別名在多表查詢時(shí),如果多個(gè)表之間存在同名的列,則必須使用表名進(jìn)行限定。,分別表示。如果查詢內(nèi)容比較復(fù)雜,那么多次使用表名就會(huì)使語句變得繁瑣,這時(shí)可以使用表別名的方式解決這個(gè)問題。設(shè)置表的別名,只需要在FROM子句中引用該表時(shí),將表別名跟在表的實(shí)際名稱后面即可。表別名和表的實(shí)際名稱之間使用空格進(jìn)行分隔。使用CROSS JOIN實(shí)現(xiàn)交叉連接使用CROSS JOIN關(guān)鍵字,可以實(shí)現(xiàn)兩個(gè)表的交叉連接,所得到的結(jié)果將是這兩個(gè)表中各行數(shù)據(jù)的所有組合,即這兩個(gè)表所有數(shù)據(jù)行的笛卡爾積。交叉連接與簡單連接操作非常相似,不同的是,使用交叉連接時(shí),在FROM子句中多個(gè)表名之間不是用逗號(hào),而是使用CROSS JOIN關(guān)鍵字隔開。另外,在交叉連接中不需要使用關(guān)鍵字ON限定連接條件,但是可以添加WHERE子句設(shè)置連接條件。使用交叉連接,查詢emp表和dept表中,部門編號(hào)為10的員工信息和部門信息,如下:SQL SELECT empno , ename , sal , , dname 2 FROM e CROSS JOIN d 3 WHERE = 10 AND dname = 39。ACCOUNTING39。使用等號(hào)在笛卡爾積所生成的表中包含了大量的冗余信息。在檢索數(shù)據(jù)時(shí),為了避免冗余信息的出現(xiàn),可以使用WHERE子句限定檢索條件。在WHERE子句中使用等號(hào)(=)可以實(shí)現(xiàn)表的簡單連接,表示第一個(gè)表中的列與第二個(gè)表中相應(yīng)列匹配后才會(huì)在結(jié)果集中顯示。使用表的別名在多表查詢時(shí),如果多個(gè)表之間存在同名的列,則必須使用表名進(jìn)行限定。,分別表示。如果查詢內(nèi)容比較復(fù)雜,那么多次使用表名就會(huì)使語句變得繁瑣,這時(shí)可以使用表別名的方式解決這個(gè)問題。設(shè)置表的別名,只需要在FROM子句中引用該表時(shí),將表別名跟在表的實(shí)際名稱后面即可。表別名和表的實(shí)際名稱之間使用空格進(jìn)行分隔。使用關(guān)鍵字JOIN進(jìn)行連接在連接查詢的FROM子句中,多個(gè)表之間可以使用英文逗號(hào)進(jìn)行分隔。除了這種形式以外,SQL還支持使用關(guān)鍵字JOIN進(jìn)行連接。在FROM子句中,使用JOIN連接的語法形式如下:FROM join_table1 join_type join_table2 [ ON ( join_condition ) ][ join_type … ON join_condition , … ]語法說明如下:161。 join_tablejoin_table2 參與連接操作的表名。161。 join_type 連接類型,連接類型有INNER JOIN(內(nèi)連接)、OUTER JOIN(外連接)和CROSS JOIN(交叉連接)。161。 join_condition 連接條件,由被連接表中的列和比較運(yùn)算符、邏輯運(yùn)算符等構(gòu)成。可以使用多組join_type … ON
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1