morilib relations: a relational database


Top - チュートリアル - 操作方法 - リファレンス - 関数 - JDBC - ダウンロード - English


SQLで使用できる式

morilib relationsのSQLでは以下の値が使用可能です。 morilib relationsのSQLでは以下の演算子が使用可能です。 表の上にあるほど優先順位は高いです。
演算子 結合 説明
FUNCTION-NAME ( expr, ... ) 関数を呼び出します
単項+, 単項- ! 左から右 単項+、単項-、論理否定を取得します
*, / 左から右 乗算、除算を計算します
+, - 左から右 加算、減算を計算します
>, <, >=, <=, =, ==, !=, <> 左から右 2つの値の関係を計算します
IS NULL, IS NOT NULL, IN, BETWEEN, LIKE, EXISTS -
  • expr IS NULL, IS NOT NULL:
    列がNULL(NULLでない)であるときにTRUEを得ます。 morilib relationsにおいてNULLと空文字列は同一です
  • expr0 IN ( expr1, ..., exprN ):
    expr0がexpr1~exprNのいずれかに一致するときTRUEを得ます
  • expr0 IN select-clause:
    expr0がselect文の結果に一致するときTRUEを得ます。 select文の列は1つである必要があります
  • expr LIKE pattern:
    exprがpatternに一致するときTRUEを得ます。 patternには"_"(任意の1文字)、"%"(任意の0文字以上の繰り返し)が使用できます
  • EXISTS select-clause:
    select-clauseが0件でないときTRUEを得ます
NOT 論理否定を返します
&& 左から右 論理積を返します
|| 左から右 論理和を返します


テーブルの結合

テーブルの結合は以下のようにして実行します。
table-name [INNER|[LEFT] OUTER] JOIN table-name [ON expr]
morilib relationsのSQLでは以下の結合が使用可能です。


データの型

morilib relationsでは以下のデータの型が使用できます。
記述
VARCHAR(長さ) 可変長の文字列です。長さにUNLIMITEDと指定することで文字列長を無限にすることができます
NUMERIC(精度[, 小数点]) 数値です。数値は多倍長で保存されます
DATE 日付です。一般的に使用される表示形式が使用できます


SELECT

SELECT expression[,...] [FROM joined-table] [WHERE expression] [GROUP BY column[,...] [HAVING expression]] [ORDER BY column[,...]]
データベースからデータを問い合わせます。
以下の制限があります。

WITH var-name AS ( select-clause ) [, var-name AS ( select-clase ) ] select-clause
クエリ結果を一時的な変数に格納してからクエリを実行します。
保存されたクエリ結果は後のクエリで使用できます。 保存されたクエリはこの句が実行されたらクリアされます。

WITH var-name AS ( select-clause ) [, var-name AS ( select-clase ) ]
クエリ結果を一時的な変数に格納してからクエリを実行します。
保存されたクエリ結果は後のクエリで使用できます。 セッションが有効な限り保存されたクエリを使用することができます。


INSERT

INSERT INTO table-name (column[,...]) VALUES (expr[,...])
テーブルに行を1行登録します。
以下の制限があります。

INSERT INTO table-name (column[,...]) select-clause
テーブルに問い合わせ結果を登録します。


UPDATE

UPDATE table-name SET column=expr [,column=expr ...] WHERE expression
テーブルの値を更新します。
以下の制限があります。


DELETE

DELETE FROM table-name WHERE expression
テーブルの値を削除します。


DDL(テーブル)

CREATE TABLE table-name (
 column-name type [NOT NULL] [PRIMARY KEY]
 [,column-name type [NOT NULL] [PRIMARY KEY] ...])
テーブルを作成します。

ALTER TABLE table-name ADD (
 column-name type [NOT NULL] [PRIMARY KEY]
 [,column-name type [NOT NULL] [PRIMARY KEY] ...])
テーブルに列を追加します。

ALTER TABLE table-name MODIFY (
 column-name type [NOT NULL] [PRIMARY KEY]
 [,column-name type [NOT NULL] [PRIMARY KEY] ...])
テーブルの列を変更します。

ALTER TABLE table-name DROP (column-name[, column-name ...])
テーブルの列を削除します。

ALTER TABLE table-name RENAME TO new-table-name
テーブル名を変更します。

DROP TABLE table-name
テーブルを削除します。 データベースにディレクトリを使用しているとき、 削除されたテーブル情報はリネームして保存されます。

TRUNCATE TABLE table-name
テーブル情報をクリアします。 データベースにディレクトリを使用しているとき、 クリアされたテーブル情報はリネームして保存されます。


Yuichiro Moriguchi
yuichiro-moriguchi@nifty.com