SQLってどう使う?--その1 データベース内のデータを操作 - (page 3)

鈴木浩司(日本オラクル)

2007-10-26 17:00

 また、WHERE句には、複数の条件を指定することが可能です。図7の例を見てください。このクエリーは、「部門コードが20、かつ給料が1200より大きい」従業員のデータを選択できます。この例のように、いろいろな条件を組み合わせてデータを選択する場合には、「〜かつ…」であればAND、「〜または…」であればORを使うことができます。このANDとORを論理演算子と言います。

図7.複数の条件を指定するクエリーと実行結果

 最後は、複数の表からデータを取り出す場合です。複数の表からデータを取り出すことも難しくありません。例として図8のような従業員表と部門表の2つの表があるとします。2つの表からどのような条件で2つのテーブルを結びつけるか考えます。この2つの表の場合、部門番号(DEPTNO)で結びつけることができますね。ですので、クエリーはこのように書けます。

 このようなSQLを実行することにより、簡単に必要なデータをとりだせます。このように、別々の表に格納されているデータを同時に取り出すことを「結合」と言います。そして2つの表を結合することにより、従業員表にはなかった部門名を従業員名とあわせて取り出すことができます。

図8.ふたつの表を結合するクエリーと実行結果

 これまでの例で「部門コードが20のデータ」といった条件について、WHERE句を利用して「DEPTNO = 20」としています。このように範囲の指定の方法として、「=」や「>」のような比較演算子を使います。利用できる比較演算子は表1のものがあります。比較演算子を使うことで、選択するデータの範囲を特定することができるようになります。

表1.比較演算子

 本連載ではご紹介できませんでしたが、SELECT文ではデータを取得するときに昇順、降順などのソートを行ったり、集計を行ったりすることができます。また、取得したデータの文字列操作を行ったり、日付などのフォーマットを行ったりする為に様々な関数が多く用意されています。

 さて、今回はSQLのデータ操作言語のなかのSELECT文のお話だけで終わってしまいましたが、データベースはデータを蓄えるためのものですので、蓄えたデータを取り出す為のSELECT文が一番多く使われるのは言うまでもありませんね。今回ご紹介したのはSELECT文の基本となることですので、しっかりと覚えてください。

 では次回は、データ操作言語のそのほかの操作やデータ制御言語についてご紹介をしていきたいと思います。

鈴木浩司
筆者紹介

鈴木浩司(すずき こうじ)
日本オラクル株式会社 システム製品統括本部
クロスインダストリービジネス推進本部

担当製品: Oracle Fusion Middleware
経歴: SI企業にて、約8年システム開発に携わる。日本オラクルに営業として入社。エンジニアにコンバートされ、Java,SOA,IDM製品を担当。現在に至る。
一言: 連載もいよいよSQLの話に入ってきました。実際にSQLを実行できるようにDBMSをインストールしてみませんか? Oracleデータベースはインストールが難しいって聞いた?そんな話は過去の話です。今ではサルでもインストールできます(2003年のOrale Worldでは実際にサルのモモちゃんがOracle Database 10gをインストールしました)。
オラクルでは、こうした都市伝説を検証しています。詳しくはこちら

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]