ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

SELECT (SQL)

索引 SELECT (SQL)

SELECTステートメントは、1つもしくは複数のテーブルからデータを抽出する、SQLにおけるデータ操作言語 (DML)ステートメントの1つである。 これは、データベースの1つもしくは複数のテーブルからデータを抽出するための命令で、データ操作言語 (DML)の中では最もよく使用される。プログラマはどのような結果を欲しいのかをSQL文で記述する必要はあるが、その結果を取得するためにどのような物理的な操作が実行されるのかを指示する必要はなく、データベースシステム(クエリオプティマイザ)がそのSQL文から最適なクエリプラン(実行計画)を作成する。 これらは、ANSI(米国規格協会)によってある程度は標準化されているが、それ以外に製品固有の命令文が多数存在するため、使用するには各種DBMSの仕様とバージョンを確認する必要がある。 なお、「テーブル」は「表」、「行」は「レコード」、「列」は「項目」と呼ぶこともある。.

13 関係: 主キーデータベースデータ操作言語クエリ実行計画クエリ最適化再帰クエリ窓関数 (SQL)直積集合DUAL表表 (データベース)関係代数 (関係モデル)SQL正規化

主キー

主キー(しゅキー、英語:primary key)とは、関係データベースにおいて、組(レコード)の識別子として利用するのにもっとも好ましいものとして、関係(テーブル)毎にただ一つ設計者により選択・定義された候補キーをいう。つまり、関係に格納されたレコードを一意に識別するための属性(列、アトリビュート)またはその集合のうち、そのために通常利用されるべき特定の一つをいう。 関係データベース管理システム(RDBMS)やミドルウェア、アプリケーションなどでレコードの識別子が必要な場合、主キーがそのために使われることが多い。ただ、そうしなければならない必然性はなく、他の候補キーを使っても良い。したがって、主キーの理論上の意義は大きくないが、実務上は、そのわかりやすさなどから広く使われている概念である。 ただし、主キーにはNULLの存在が許されないが、候補キーには許されるという差があるとする立場もある(レコードの追加、更新時の制約として主キーを考える場合、一意性制約にNOT NULL制約を加えたものが主キー制約であると考えることができる)。 関係に存在する候補キーが一つであるときは、その候補キーが当然に主キーとなる。 なお、主キーでない候補キーは代理キー(alternate key)という。.

新しい!!: SELECT (SQL)と主キー · 続きを見る »

データベース

データベース(database, DB)とは、検索や蓄積が容易にできるよう整理された情報の集まり。 通常はコンピュータによって実現されたものを指すが、紙の住所録などをデータベースと呼ぶ場合もある。コンピュータを使用したデータベース・システムでは、データベース管理用のソフトウェアであるデータベース管理システムを使用する場合も多い。.

新しい!!: SELECT (SQL)とデータベース · 続きを見る »

データ操作言語

データ操作言語(データそうさげんご、Data Manipulation Language, DML)は、データベース利用者あるいはアプリケーションソフトウェアが、コンピュータのデータベースに対してデータの検索・新規登録・削除・更新を行うための、データベース言語もしくはデータベース言語要素である。 2007年現在、最も普及しているデータ操作言語はSQLのデータ操作言語である。 SQLは、関係データベースに対して検索や更新などのデータ操作を行うために使われる。 他のデータ操作言語としては、IMS/DL1のデータ操作言語や、CODASYLデータベース (IDMSなど) のデータ操作言語などがある。 データ操作言語は当初はアプリケーションソフトウェアによって使われるにとどまっていたが、(SQLの出現にともない) データベース利用者によっても使われるようになっていった。 データ操作言語は文の最初の単語によって示される機能をもつ。 データ操作言語における文の最初の単語は、ほとんどの場合は動詞である。 SQLの場合はこのような動詞は次のとおりである。.

新しい!!: SELECT (SQL)とデータ操作言語 · 続きを見る »

クエリ実行計画

リ実行計画(くえりじっこうけいかく)とは、ユーザが発行した問い合わせに基づきデータベース管理システム (DBMS) が内部的に生成する情報であり、これによりDBMSの行うデータ処理がプログラム的に表される。 DBMSはクエリ実行計画の生成にあたりクエリ最適化の処理を行い、最も効果的に処理できる(と判断された)クエリ実行計画を問い合わせから導き出す。 クエリ実行計画はDBMSがその機能を実現するための内部的な情報に過ぎないが、ユーザがチューニングを行うとき手がかりとなる情報を提供するために、多くのDBMSが実行計画の表示機能を提供する。 例としてApache Derbyの実行計画を以下に示す。 Statement Name: Statement Text: Parse Time: 10 Bind Time: 0 Optimize Time: 370 Generate Time: 10 Compile Time: 390 Execute Time: 0 Begin Compilation Timestamp: 2005-05-25 09:20:41.274 End Compilation Timestamp: 2005-05-25 09:20:41.664 Begin Execution Timestamp: 2005-05-25 09:20:41.674 End Execution Timestamp: 2005-05-25 09:20:41.674 Statement Execution Plan Text: Project-Restrict ResultSet (2): Number of opens.

新しい!!: SELECT (SQL)とクエリ実行計画 · 続きを見る »

クエリ最適化

リ最適化(クエリさいてきか、query optimization.)は、多くのデータベース管理システム (DBMS) の持つ機能であり、クエリ(データに対する問い合わせ)を実行する最も効率的な方法を決定する。クエリオプティマイザ (query optimizer) とも言う。クエリオプティマイザは、入力されたクエリについて考えられるクエリ実行計画群を評価し、どれが最も効率的か決定する。コストに基づいたクエリオプティマイザでは、個々の計画のコストを見積もり、最もコストの低い計画を選ぶ。コストはクエリ実行時コストであり、入出力(I/O)操作数、CPU時間、その他から決定する。評価されるクエリ実行計画群は、可能なアクセス経路(例えば、インデックス検索、シーケンシャル検索)と結合アルゴリズム(例えば、ソートマージ結合、ハッシュ結合、入れ子ループ)の組み合わせから生成される。探索空間は入力されたSQLクエリによっては非常に大きくなる可能性もある。 クエリ最適化をユーザーが直接操作することはできない。クエリがデータベースサーバ (DBMS) に対して発行され、パーサーが構文解析すると、その結果がクエリオプティマイザに送られ、クエリ最適化が行われる。 関係代数 (関係モデル)#問い合わせ最適化も参照。.

新しい!!: SELECT (SQL)とクエリ最適化 · 続きを見る »

再帰クエリ

再帰クエリ (recursive query) もしくは 階層クエリ (hierarchical query) は、再帰的な問い合わせを行う SELECT ステートメントである。階層構造を持つデータなどに使う。.

新しい!!: SELECT (SQL)と再帰クエリ · 続きを見る »

窓関数 (SQL)

SQL において、窓関数もしくはウィンドウ関数 (window function) は結果セットを部分的に切り出した領域に集約関数を適用できる、拡張された SELECT ステートメントである。SQL:2003 以降の標準SQLで規定されている。分析関数やOLAP機能と呼ばれる場合もある。 以下の例は、同じ city ごとに、その人口を集計している。 集約を行う領域は OVER 句により制御できる。 以下の構文を持ち、結果セットの分割と順序を制御できる。 ORDER BY 句は row_number 関数のような順序の影響を受ける処理に対して使用する。.

新しい!!: SELECT (SQL)と窓関数 (SQL) · 続きを見る »

直積集合

数学において、集合のデカルト積(デカルト­せき、Cartesian product)または直積(ちょくせき、direct product)、直積集合、または単に積(せき、product)、積集合は、集合の集まり(集合族)に対して各集合から一つずつ元をとりだして組にしたもの(元の族)を元として持つ新たな集合である。 具体的に二つの集合 に対し、それらの直積とはそれらの任意の元 の順序対 全てからなる集合をいう。 では と書くことができる。有限個の集合の直積 も同様のn-組からなる集合として定義されるが、二つの集合の直積を入れ子 (nested) にして、 と帰納的に定めることもできる。.

新しい!!: SELECT (SQL)と直積集合 · 続きを見る »

DUAL表

DUAL表(DUALひょう)は、Oracle Databaseにおいてセットアップ時から存在する、1列しかない特別な表である。これはSYSDATEやUSERなど、表を適用せずとも値を返す演算に対してSELECTを行う場合に使われる。この表にはVARCHAR2(1)のDUMMYという列だけがあり、1件だけあるレコードの値は'X'となっている。.

新しい!!: SELECT (SQL)とDUAL表 · 続きを見る »

表 (データベース)

関係データベースやフラットファイルデータベースにおける表またはテーブルとは、データ要素(値)の集合を垂直な列と水平の行のモデルで構成したものである。表には所定の個数の列があるが、行数は不定である。各行は特定の列の値で識別され、それを候補キーと呼ぶ。 表は関係と同じ意味でも使われる。ただし、表は多重集合がありうるが、関係モデルにおける関係は重複を許さない点が異なる。実際のデータ行の他に、表にはその表や特定の列での値に関する制約のような何らかのメタ情報が対応しているのが一般的である。 表内のデータはデータベースに物理的に格納されている必要はない。ビューも一種の表だが、そのデータはクエリ時に計算で求められる。また、別のデータベース内の表へのポインタとして機能するニックネームもある。.

新しい!!: SELECT (SQL)と表 (データベース) · 続きを見る »

関係代数 (関係モデル)

関係代数(かんけいだいすう、リレーショナル代数、英: relational algebra)は、関係データベースの関係モデル (リレーショナルモデル)において、集合論と一階述語論理に基づいて、関係 (リレーション、表、テーブル)として表現されたデータを扱う、コンピュータ科学における代数的な演算の体系である。 関係として表現されたデータに対して行う演算体系としては、関係論理(関係計算)とこの項目で説明する関係代数の2種類が知られている。 関係代数と関係論理は、主にエドガー・F・コッドによって考案され、その後コッドを含めた関係データベース(関係モデル)の研究者たちが発展させてきた。 現在では、関係代数の演算子としては、和、差、交わり (交差) 、直積、制限 (選択) 、射影、結合、商の8種類が言及されることが多い。 ただし属性名変更や拡張、要約などこの他の演算子も考案されている。 関係代数を実装したデータベース言語(問い合わせ言語)としては、SQL や Tutorial D などが挙げられる。 ただし SQL については、関係代数を完全な形で実装していないとして批判する意見がある。 数学的に純粋な関係代数は、数理論理学や集合論と比較して、代数的構造をなしている。.

新しい!!: SELECT (SQL)と関係代数 (関係モデル) · 続きを見る »

SQL

SQL(エスキューエルよりデジタル大辞泉、IT用語がわかる辞典を参照、シークェル、シーケルよりDBM用語辞典を参照)は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。エドガー・F・コッドによって考案された関係データベースの関係モデルにおける演算体系である、関係代数と関係論理(関係計算)にある程度基づいている。 データベース言語の国際標準としてのSQLは何かの略語ではない。 SQLは、シークェル と読まれることもある。これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語「SEQUEL (Structured English Query Language)」であったことが由来である。 SQLに対しては、関係代数と関係論理に忠実に準拠していないとして批判する意見がある(The Third Manifesto - クリス・デイト、ヒュー・ダーウェン)。.

新しい!!: SELECT (SQL)とSQL · 続きを見る »

正規化

正規化(せいきか、normalization)とは、データ等々を一定のルール(規則)に基づいて変形し、利用しやすくすること。別の言い方をするならば、正規形でないものを正規形(比較・演算などの操作のために望ましい性質を持った一定の形)に変形することをいう。多くの場合、規格化と訳しても同義である。非常に多くの分野で使われている言葉で、分野によって意味も大きく異なるため、頻度が高い分野についてそれぞれ個別に説明する。.

新しい!!: SELECT (SQL)と正規化 · 続きを見る »

ここにリダイレクトされます:

SELECT

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »