コンピューター, プログラミング
例説明:SQLの間
データはテーブルに格納されたリレーショナルデータベースを操作する場合、ユーザは、しばしば、特定の範囲内(含まれていない)を含むサンプリング値の課題に直面しています。 以下、同様にオペレータ間でのSQL - 演算子、条件以上の組み合わせLike演算子は、 - SQL言語は(いけない)異なるオプションの値に属すべき、あなたが複数定義することができます。 この記事の説明と例は、最新バージョンに焦点を当てます。
SQLでの作業「の間」:構文の制限
文字通りSQLと翻訳の間にオペレータ - 「間に」。 その使用は制限を設定「してから」特定のフィールドすることが可能となり、次の値が範囲内であれば、述語は「真」に設定され、その値は、最終的なサンプルに分類されます。
演算子の構文は非常に簡単です:
*選択 テーブルT1から ここで、0と7の間t1.n |
あなたが見ることができるように、あなたがたとの間のキーワードの後、その後、下限の値を指定して、上限なければなりません。
オペレータは、SQLの間で働くことができるデータの種類を、列挙:
- 整数と小数 - 数字で。
- 日付を。
- テキスト付き。
SQL文の特定の特殊性を持っている間にこれを行います。 我々は彼らを知ります:
- 限界値の数値や日付での作業「から」サンプルに含まれている場合。
- 条件が論理的に真ではないので、下のレンジ値は、それ以外の場合は何も表示されません、上限値よりも小さくなければなりません。 代わりに、条件変数内の特定の値のが含まれている場合には、特別な注意は、する必要があります。
上限のテキスト値を操作する場合、それが非常に正確に定義されていない場合、試料中に含まれていません。 私たちは、詳細に以下のセクションでは、この機能を検討します。
一定範囲内のサンプル番号と日付
組織で働く、データ管理者とテーブルを準備します。 テーブルには、次のような構造を持つことになります。
フィールド名 | データ型 | 説明 |
コード | カウンター | 一意の従業員ID |
姓 | テキスト | 役員の名前 |
名前 | テキスト | 従業員名 |
父称 | テキスト | 父称従業員 |
ポール | テキスト | セックス要員(M / F) |
Data_priema | 日付/時刻 | 仕事に従業員を受信する日 |
Chislo_detey | 番号 | 従業員の子どもの数 |
以下のデータで表に入力します。
コード | 姓 | 名前 | 父称 | ポール | Data_priema | Chislo_detey |
1 | アレクサンドロフ | アイリーン | N. | F | 2014年5月1日 | 1 |
2 | Borovoy | アンドリュー | S. | M | 2013年9月21日 | 0 |
3 | ビノグラードフ | セルゲイ | 大公 | M | 1998年6月15日 | 1 |
4 | Shumilin | アレクサンダー | B. | M | 2004年12月25日 | 2 |
5 | Vishnyakov | レオニード | A. | M | 2007年9月10日 | 0 |
6 | Tropnikov | ワシーリー | S. | M | 2016年1月12日 | 3 |
7 | 真珠 | ニキータ | V. | M | 2017年1月11日 | 1 |
8 | Avdeeva | ニック | K. | F | 2001年3月31日 | 2 |
9 | ヤコブレフ | レオニード | ニコラエ | M | 2009年2月16日 | 0 |
フォーム SQLクエリ 私たちは2または3人の子供を持つすべての従業員を選択するのに役立ちます間を、:
SELECTマネージャ。* マネージャから WHERE Menedzhery.Chislo_detey 2〜3 |
結果は姓Shumilin、TropnikovとAvdeevaを持つ従業員のデータを3行になります。
今、従業員は2016年12月31日に2005年1月1日からの受信を選択します。 異なる方法で異なるデータベースを使用すると、日付の面で記録することができるように留意すべきです。 多くの場合、フォーム日 - 月 - 年(あるいはもっと便利)への力の、日付と単一または二重引用符で記録。 DBMS MS Accessの 日付は、記号「#」を含みます。 ただ、それに基づいています。この例を実行します。
SELECTマネージャ。* Menedzhery.Data_priema マネージャから WHEREマネージャ。 #2005年1月1日#と#31/12/2016#間用Data_priema |
結果は包括期間中に募集従業員5名となります。
次は、それがSQL文字列の間でどのように機能するかを見てみましょう。
文字列の間で働きます
従業員の名前を扱うときに解決しなければならない非常に一般的な問題は - 名前が特定の文字で始まるものだけを選択する必要があります。 そして、私たちは、その名前からBへの最後の名前で始まるクエリを選択し、従業員を実行しよう:
SELECTマネージャ。* マネージャから WHERE Menedzhery.Familiya "A" と "B" との間の 2 BY ORDER |
結果は次のようになります
コード | 姓 | 名前 | 父称 | ポール | Data_priema | Chislo_detey |
8 | Avdeeva | ニック | K. | F | 2001年3月31日 | 2 |
1 | アレクサンドロフ | アイリーン | N. | F | 2014年5月1日 | 1 |
2 | Borovoy | アンドリュー | S. | M | 2013年9月21日 | 0 |
あなたが見ることができるように、リスト内の文字Bの名前の2人の従業員が含まれていませんでした。 その理由は何ですか? 実際には、オペレータが等しくない長さの文字列を比較正確にどのようにあります。 ライン「B」は短い文字列「ビノグラードフ」とパディングです。 アルファベット順に並べ替えたときにでも、スペースが速く文字になり、そしてサンプルの名前が落ちることはありません。 異なるデータベースには、この問題を解決するためのさまざまな方法を提供し、それは多くの場合、範囲内のアルファベットの次の文字の信頼性を示すための最も簡単な方法です:
SELECTマネージャ。* マネージャから WHERE Menedzhery.Familiya "A" と "D" との間の 2 BY ORDER |
実行すると、クエリの結果は、完全に私たちを満足させます。
このニュアンスは、文字データを扱うときにのみ存在しますが、それは間などの単純な演算子を扱う場合でも、あなたが気をつけなければならないことを示しています。
Similar articles
Trending Now