<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/system818/">
    <title>system818 @ ウィキ</title>
    <link>http://w.atwiki.jp/system818/</link>
    <atom:link href="https://w.atwiki.jp/system818/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>system818 @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2008-08-07T15:06:39+09:00</dc:date>
    <utime>1218089199</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/40.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/39.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/38.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/36.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/35.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/34.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/33.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/32.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/system818/pages/31.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/system818/pages/40.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅴ)</title>
    <link>https://w.atwiki.jp/system818/pages/40.html</link>
    <description>
      **第5章 グループ関数について

***5.1 グループ関数とは

■グループ関数では、NULL値は対象から除外されます。
■NULL値の扱いの例外としては、COUNT(*)の場合、NULL値もカウントします。
■AVG,COUNT,SUM,STDDEV,VARIANCE関数では、数値型データのみを扱う。

※VARIANCE関数
|(構文)　&amp;bold(){VARIANCE( 数値項目 )}|
(説明)　引数で指定した数値項目の、分散を返します。
　　　　　入力レコードが1行の場合は、０を返します。

※STDDDEV関数
(構文) |&amp;bold(){STDDEV( 数値項目 )}|
(説明) 引数で指定した数値項目の標準偏差を返します。

----

***5.2 AVG関数とは

※構文※
|&amp;bold(){AVG( 列名 )}|

※説明※
NULL値の行は、対象列なので、平均値を求めるデータには含めません。

----

***5.3 COUNT関数とは

※構文※
|&amp;bold(){COUNT({ * | 列名 })}|

※説明※
･count(*)を指定したときは、NULL値の行もカウントします。
･count(列名)を指定したとき、NULL値は、行のカウント対象外となります。

----

***5.4 sum関数

※構文※
|&amp;bold(){sum(列名)}|

※説明※
NULL値の行は、合計の計算対象外です。

----

***5.5.1 max関数

※構文※
|&amp;bold(){MAX(列名)}|

※説明※
列のデータ型は、数値だけでなく、文字型データ、日付型データでも使用可能。

----

***5.5.2 min関数

※構文※
|&amp;bold(){MIN(列名)}|

※説明※
列のデータ型は、数値だけでなく、文字型データ、日付型データでも使用可能。

----

***5.6 GROUP BY句とグループ関数

･グループ関数は、SELECT文では、SELECT列、HAVING句、ORDER BY句で使用できます。
･グループ関数を、GROUP BY句、WHERE句に記述することは    </description>
    <dc:date>2008-08-07T15:06:39+09:00</dc:date>
    <utime>1218089199</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/39.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅳ)</title>
    <link>https://w.atwiki.jp/system818/pages/39.html</link>
    <description>
      **第4章 単一行関数について

***4.1 単一行関数とは
･値を数値処理したり、文字列を変換したり、値を別のデータ型に変換したりすることができます。
(1行の入力から1つの結果が戻る)

----

***4.2 数値関数
(表)数値関数一覧
|関数名|機能|書式|説明|
|CEIL|n以上の最も小さい整数を戻します|CEIL(n) n:計算対象の値||
|FLOOR|n以下の最も大きい整数を戻します|FLOOR(n) n:計算対象の値|nの値が正ならば切捨て。負ならば切り上げである。|
|MOD|mをnで割った余りを戻します|MOD(m,n) m:計算対象の値 n:割る値|nが0の時には、mを戻す。mが0の時には、0を戻す。|
|ROUND|数値を指定桁で丸めます|ROUND(n[,i]) n:計算対象の値、i:四捨五入する桁数を指定|四捨五入する桁数が正数のとき小数点以下の桁数。負数の場合は正数の桁数になる。|
|TRUNC|数値を指定桁で切り捨てます|TRUNC(n[,i]) n:計算対象の値、i:切り捨てる桁数を指定|四捨五入する桁数が正数のとき小数点以下の桁数。負数の場合は正数の桁数になる。|

&amp;bold(){※CEIL関数…正の数に限っては、切り上げです。負の数の場合は、切り上げにはならない。}

----

***4.3 文字関数

&amp;bold(){INICAP関数}
|機能|書式|説明|
|文字の各単語の先頭に大文字に、2文字以後を小文字に変換して戻します|INITCAP(s) s:文字列|単語の区切りは、空白、記号等です。|

#html2(){{{{{{
&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;b&gt;INSTR関数&lt;/b&gt;
&lt;table border=1&gt;
&lt;tr&gt;&lt;td&gt;機能&lt;/td&gt;&lt;td&gt;文字列から指定の文字位置を戻す&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;書式&lt;/td&gt;
&lt;td&gt;s1:検索対象の文字&lt;br&gt;
s2:検索する文字&lt;br&gt;
p:s1の検索を開始する文字位置(負数の場合、文字の最後からの逆検索)&lt;br&gt;
o:一致した回数&lt;br&gt;
p,oまたはoは、省略可能&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;説明&lt;/td&gt;
&lt;td&gt;･s1    </description>
    <dc:date>2008-08-06T10:35:44+09:00</dc:date>
    <utime>1217986544</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/38.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅹ)</title>
    <link>https://w.atwiki.jp/system818/pages/38.html</link>
    <description>
      *第10章 列について

**10.1 列の追加
***○ALTER TABLE文 ADD句
【機能】
表に列を追加

【構文】
|&amp;bold(){ALTER TABLE 表名 ADD 列名 データ型 [DEFAULT デフォルト値];}|

【説明】
･デフォルトを指定して列を追加したい場合、既存行の追加列にはデフォルト値が設定される。
･デフォルトを指定したい場合、既存行の追加列にはNULLが設定される。

----

**10.2 列の変更
***○ALTER TABLE文 MODIFY句
【機能】
列を修正する

【構文】
|&amp;bold(){ALTER TABLE 表名 MODIFY 列名 データ型 [DEFUALT デフォルト値 [NOT NULL ┃ NULL]];}|
|&amp;bold(){ALTER TABLE 表名 MODIFY (列名 データ型[,列名 データ型..]);}|

【説明】
(1)列の拡大
･既存列のデータ長を拡大する変更、数値精度の拡大変更は可能。

(2)列の縮小
･列にデータがない場合(データがすべてNULLの場合)は可能。
･列にデータがある場合でも、既存列のデータに影響しない縮小変更は可能。
固定長型では、縮小することはできません。

(3)列のデータ型の変更
･データがない場合又は変更する列がすべてNULLならば、データ型の変更は可能。
･既存列にデータがある場合でも、既存データに影響しないデータ型の変更は可能。

■デフォルト値の追加又は変更
表)
|処理|説明|
|列の追加でデフォルト値を設定|既存行には、デフォルト値が格納される|
|列の変更でデフォルト値を設定|既存行は、そのままで新規に追加されるデータからデフォルト値が格納される|

----

**10.3 列の未使用

***○ALTER TABLE文 SET UNUSED(COLUMN)句
【機能】
列に未使用マークを設定

【構文】
|&amp;bold(){ALTER TABLE 表名 SET UNUSED COLUMN 列名;}|
|&amp;bold(){ALTER TABLE 表名 SET UNUSED (列名 [,列名...]);}|

【説明】
･列    </description>
    <dc:date>2008-08-06T10:42:44+09:00</dc:date>
    <utime>1217986964</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/37.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅸ)</title>
    <link>https://w.atwiki.jp/system818/pages/37.html</link>
    <description>
      *第9章 表について

**9.1 表の作成
***○CREATE TABLE文

【機能】
表を作成します。

【構文】
#html2(){{{{{{
&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tr&gt;&lt;td&gt;create table 表名(&lt;br&gt;
列名 データ型 [DEFAULT 式][NOT NULL]&lt;br&gt;
列名 データ型 [DEFAULT 式][NOT NULL]&lt;br&gt;
...&lt;br&gt;
列名 データ型 [DEFAULT 式][NOT NULL]
&lt;/body&gt;
&lt;/html&gt;

}}}}}}

【説明】
･CREATE TABLE権限と領域が必要。
･列には、NULLを格納することができる。(NULLの格納を禁止するときには、NOT NULLを指定)

&amp;bold(){※CREATE TABLE文でAS句を使用して、他の表から表を作成することができる。}

***○CREATE TABLE文(副問合せ)

【機能】
副問合せにより表を作成します。

【構文】
#html2(){{{{{{
&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tr&gt;&lt;td&gt;create table 表名(&lt;br&gt;
[(列名 [DEFAULT 式][NOT NULL],&lt;br&gt;
列名 [DEFAULT 式][NOT NULL],&lt;br&gt;
...&lt;br&gt;
列名 [DEFUALT 式][NOT NULL])]&lt;br&gt;
AS (副問合せ);&lt;/td&gt;&lt;/tr&gt;
&lt;/body&gt;
&lt;/html&gt;
}}}}}}

【説明】
･副問合せの表を元に新規の表を作成します。
&amp;bold(){･副問合せの表の主キー、一意キー、外部キー、CHECK制約、索引、列のデフォルト値は、継承されません。}
&amp;bold(){･表定義で指定できるのは、列名、デフォルト値、整合性で、データ型は指定できない。}
･作成する表の列名は、副問合せの表の列名を継承、指定することができる。
･ASの後の副問合せの前後のカッコは、オプションで省略可能です。

----

**9.2 表の変更
※表の    </description>
    <dc:date>2008-08-06T10:41:53+09:00</dc:date>
    <utime>1217986913</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/36.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅷ)</title>
    <link>https://w.atwiki.jp/system818/pages/36.html</link>
    <description>
      *第8章 表の結合について

**8.1 表の結合とは

***■Oracle構文
Oracle構文ではWhere句で、検索条件だけでなく表の結合もできる。

[表]表結合のOracle構文一覧(一部省略)
|左外部結合文|SELECT .. FROM 表名A,表名B &amp;bold(){WHERE} 表名A.列名&amp;bold(){(+)} = 表名B.列名;|
|右外部結合文|SELECT .. FROM 表名A,表名B &amp;bold(){WHERE} 表名A.列名 = 表名B.列名&amp;bold(){(+)};|


***■SQL1999構文(1999年6月に採用されたSQL規格のこと)
※こちらについては後程説明します。


***■表別名について
SQL文を見やすくするために使用します。
列を修飾する表名を、表名を使用したり、表別名を使用したりと自由に選択することはできません。


***■外部結合について
表結合では、結合条件を満たすデータを取り出しますが、結合条件を満たさないデータが必要になる場合。
･&amp;bold(){外部結合}→結合条件を満たさないデータを取り出します結合
･&amp;bold(){右、左外部結合}→結合条件を満たさないデータを取り出す表により･･･。
･&amp;bold(){完全外部結合}→結合条件を満たすデータだけでなく、結合条件を満たさない２つのデータを取り出す結合。

----

**8.2 SQL:1999構文の表の結合

***○自然結合文
|構文:SELECT .. FROM 表名A NATURAL JOIN 表名B [WHERE 検索条件];|
説明
･2つの表の同じ名前の列が等しい値の行を取り出します。
･結合する列のデータ型は同じでなければならない。
&amp;bold(){･結合で使用する列をSELECT句やWHERE句等で使用する場合には、表名または表別名を付けません。}
･2つの表に結合する同じ列名が存在しない場合、なにも選択されないだけで、エラーにはならない。

***○等価結合文
|構文:SELECT .. FROM 表名A JOIN 表名B USING(列名) [WHERE 検索条件];|
説明:
･2つの表から指定列の等しい行を取り出します。
&amp;bo    </description>
    <dc:date>2008-08-06T10:40:49+09:00</dc:date>
    <utime>1217986849</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/35.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅶ)</title>
    <link>https://w.atwiki.jp/system818/pages/35.html</link>
    <description>
      **第7章 副問い合せについて

***7.1 副問い合せとは
&amp;bold(){副問い合せとは、SQL文内に、組み込まれた問い合わせのこと(サブクエリーともいう)}

(表)副問合せ一覧
|副問合せ|説明|条件|備考|
|単一行副問合せ|副問合せが1行のみ戻す|単純比較条件(=,&gt;,&lt;,&lt;&gt;等を使用)||
|複数行問合せ|副問合せが複数行を戻す|グループ比較条件(IN,ALL,ANYを使用)||

※副問合せには、GROUP BY句、ORDER BY句を指定することができる。
&amp;bold(){※単一行副問合せで、単純比較条件を使用している場合に、複数行が戻されるとエラーになる。}

(表)複数行問合せの条件
|条件|説明|備考|
|IN|いずれかと等しい|=ANYと同じ意味です|
|NOT IN|いずれとも等しくない|!=ALLまたは&lt;&gt;ALLと同じ意味|
|ALL|すべての値と比較|副問合せから行が戻されない場合、FALSEとなる|
|ANY|各値と比較|副問合せから行が戻されない場合、TRUEとなり、ANYと同じ意味で、SOMEを使用する場合あり。|

----

***7.2 SELECT文の副問い合せ

○SELECT文(副問合せ)○
構文:&amp;bold(){SELECT ... FROM 表名 WHERE 列名 比較条件 (副問合せ);}
     SELECT ... FROM 表名 [GROUP BY 列名] HAVING {列名 | グループ関数} 比較条件 (副問合せ);

※注意･･･&amp;bold(){SELECT句、GROUP BY句、ORDER BY句では使用不可。}

----

***7.3 INSERT文の副問い合せ

○INSERT文(副問合せ)○
構文:&amp;bold(){INSERT INTO (副問合せ values(列名,...)) [where 検索条件];}
説明:
･副問合せの列数とvalues句の列数の数は同じ。

構文:&amp;bold(){INSERT INTO 表名 [ (列名,...) ] (副問合せ);}
説明:
･副問合せは、TABLE句、VALUES句、WHERE句で指定できる。

----

***7.4 UPDATE文の副問い    </description>
    <dc:date>2008-08-06T10:40:17+09:00</dc:date>
    <utime>1217986817</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/34.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅲ)</title>
    <link>https://w.atwiki.jp/system818/pages/34.html</link>
    <description>
      **第3章 条件について

***3.1 条件とは
&amp;bold(){条件は、１つ以上の式と論理演算で構成され、TRUE(真)、FALSE(偽)、NULLのいずれかの値を返す。}

(条件一覧)
|比較条件|２つの式を比較して、その結果を返す|
|論理条件|式に対して論理演算子を行う|
|範囲条件|範囲に含まれるかどうかを調べる|
|IN条件|リスト内の項目と比較|
|NULL条件|NULL値かどうかを調べる|
|EXISTS条件|副問合せが条件を返すかどうか調べる|
|LIKE条件|文字列がパターンと一致するかどうかを調べる|

----

***3.2 比較条件
(比較条件指定の例(一部省略あり))

|条件|説明|
|a&lt;&gt;b|aとbが等しくない時、TRUE(真)、等しいときFALSE(偽)|
|a&lt;=b|aがb以下の時、TRUE(真)、そうでないときFALSE(偽)|
|a&gt;=b|aがb以上の時、TRUE(真)、そうでないときFALSE(偽)|

----

***3.3 論理演算
&amp;bold(){論理条件は、式に対して論理演算子を行う。}

(表:論理条件一覧)
|演算子|説明|
|NOT|真偽値を反転|
|AND|どちらも真値のとき、TRUE(真)を返す。どちらかが偽値の時、FALSE(偽)を返す。|
|OR|どちらかが真値のとき、TRUE(真)を返す。どちらも偽値のとき、FALSE(偽)を返す。|

&amp;bold(){※AND条件※}
|【構文】式 AND 式|
|【説明】左辺、右辺どちらかがFALSE(偽)ならばFALSE(偽)を、両方ともTRUE(真)ならばTRUE(真)を返す。|

&amp;bold(){※OR条件※}
|【構文】式 OR 式|
|【説明】左辺、右辺がともにFLASE(偽)のときは、FLASE(偽)、どちらかがTRUE(真)の場合はTRUE(真)を返す。|

----

***3.4 範囲条件
&amp;bold(){範囲条件は、範囲に含まれるかどうかを調べる}

(表)範囲条件一覧
|BETWEEN AND|2つの値の範囲にあるかどうか(両端を含む)|
|NOT BETWEEN AND|2つの値の範囲にないかどうか(両端は含まない)|

&amp;bo    </description>
    <dc:date>2008-08-06T10:39:25+09:00</dc:date>
    <utime>1217986765</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/33.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅱ)</title>
    <link>https://w.atwiki.jp/system818/pages/33.html</link>
    <description>
      **第2章 行制限と並べ替えについて

***2.1 行制限と並べ替え

(表)行制限と並べ替え句一覧
|句|説明|
|DISTINCT|重複を取り除く|
|GROUP BY|指定列を元にグループ化する|
|HAVING|GROUP BY句の検索対象を制限します|
|ORDER BY|指定列の値により行を並び替える|
|WHERE|検索する対象を制限|

----

***2.2 DISTINCT句
&amp;bold(){DISTINCT句は、指定列の値の重複を取り除く。}

|【構文】SELECT DISTINCT 列名[,列名...] FROM 表名;|
|【説明Ⅰ】･指定列値の重複を取り除き、指定列値を昇順に並べ替える。|
|【説明Ⅱ】･DISTINCT句には、複数の列を指定することができる。|

----

***2.3 WHERE句
&amp;bold(){WHERE句の検索条件を満たす行を取り出します。}

|【構文】SELECT ... FROM 表名 WHERE 検索条件;|
|【説明】･検索条件には、列名、条件を指定。|

----

***2.4 ORDER BY句
&amp;bold(){ORDER BY句は、指定の列または式により行を並び替える。}
|【構文】SELECT ... FROM 表名 ORDER BY {列名 ┃ 式} [ASC ┃ DESC];|
|【説明Ⅰ】･ORDER BY句には、複数の列名または式を指定可能。|
|【説明Ⅱ】･ASC(デフォルト),DESCを指定しない場合には昇順|
|【説明Ⅲ】･NULL値は、一番大きな値として扱われます。昇順では最後に、降順では、最初に表示される。|
|【説明Ⅳ】･ORDER BY句では、列名以外に、列別名、列番号、グループ関数を指定することができる。|

----

***2.5 GROUP BY句
&amp;bold(){GROUP BY句は、指定列でグループ化します。}

|【構文】SELECT ... FROM 表名 GROUP BY 列名 [,列名 ... ];|
|【説明Ⅰ】･GROUP BY句には、列別名、列番号、グループ関数を指定することは不可|
|【説明Ⅱ】･GROUP BY句で指定した列は、重複値が取り除か    </description>
    <dc:date>2008-08-06T10:38:17+09:00</dc:date>
    <utime>1217986697</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/32.html">
    <title>Oracle Bronze10g SQL基礎I講座(Ⅰ)</title>
    <link>https://w.atwiki.jp/system818/pages/32.html</link>
    <description>
      **第1章 SELECT文について

***1.1 SELECT文とは

1.1.1 SELECT文の3つの機能
・SELECT文の機能は、表からデータを取り出しますが、以下のような３つの機能に分けることができる。
→射影    &amp;bold(){表内の特定列のデータ}を取り出す
→選択    &amp;bold(){表内の特定行のデータ}を取り出す
→結合    &amp;bold(){２つ以上の表からデータ}を取り出す

1.1.2 基本的なSELECT文の構文
       ・SELECT文は、選択対象を指定するSELECT句と対象の表を指定するFROM句で構成されます。
       ・SELECT文の終わりには、セミコロン(;)をつけます。

----

***1.2 列指定

・SELECT句で、選択対象を指定します。

※列指定※
|構文:SELECT{* ┃ 列名 [,列名..] ┃ 式 } FROM 列名;|

|選択対象|説明|例|
|*|表のすべての列(列の順番は、表定義の順番になります)|SELECT * FROM EMP;|
|列名[,列名..]|選択する表内の列名。列名と列名はカンマで区切る。|SELECT EMPNO,ENAME FROM EMP;|
|式|式|SELECT SAL * 1.5,COMM + 100 FROM EMP;|

----

***1.3 算術演算子

･算術演算子には、単項演算子とバイナリ演算子があります。
･SELECT文では、SELECT句、WHERE句、GROUP BY句、ORDER BY句等で使用できます(FROM句は、不可)

※単項演算子※
|構文:単項演算子 オペランド|

説明:
･オペランドの前に、単項演算子を記述します(単項演算子の後に空白は不要です)


|演算子|説明|例|
|+|オペランドの符号を示します(符号はそのまま)|+COL1|
|-|オペランドの符号を反転します|-COL1|


※バイナリ演算子※
|構文:オペランド　バイナリ演算子　オペランド|

説明:
･オペランドの間に、バイナリ演算子を記述します。(単項演算子の前後に空白は不要です)
･バイナリ演算子は、四則演算と同じ&quot;+&quot;、&quot;-    </description>
    <dc:date>2008-08-06T10:37:30+09:00</dc:date>
    <utime>1217986650</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/system818/pages/31.html">
    <title>用語辞典な行</title>
    <link>https://w.atwiki.jp/system818/pages/31.html</link>
    <description>
          </description>
    <dc:date>2008-07-07T17:05:02+09:00</dc:date>
    <utime>1215417902</utime>
  </item>
  </rdf:RDF>
