例の SQL 言語。 SQL SELECT およびデータ選択クエリ

08.04.2019 問題点

構文:

* どこ フィールド1— カンマで区切られた選択フィールド。すべてのフィールドを * で指定することもできます。 テーブル— データを抽出するテーブルの名前。 条件— サンプリング条件; フィールド2— 並べ替えの基準となるカンマで区切られたフィールド。 カウント— アップロードする行数。
* データを取得するために角括弧内のクエリは必要ありません。

select を使用する簡単な例

1. 通常のデータサンプリング:

> ユーザーから * を選択

2. 2 つのテーブルを結合したデータ サンプリング (JOIN):

SELECT u.name, r.* FROM users u JOIN users_rights r ON r.user_id=u.id

*V この例ではデータはテーブルがマージされてサンプリングされています ユーザーそして ユーザーの権利。 それらはフィールドによって結合されています ユーザーID(users_rights テーブル内) および ID(ユーザー)。 名前フィールドは最初のテーブルから取得され、すべてのフィールドは 2 番目のテーブルから取得されます。

3. 時間や日付の間隔を指定したサンプリング

a) 開始点と特定の時間間隔がわかっている:

*のデータ 最後の時間(分野 日付).

b) 開始日と終了日がわかっている場合:

25.10.2017 そして 25.11.2017 .

c) 開始日と終了日 + 時間がわかっている:

* の間のデータを選択します 2018/03/25 0時間15分そして 2018/04/25 15時間33分9秒.

d) 特定の月と年のデータを抽出します。

* フィールド内のデータを抽出します 日付の価値観があります 2018年4月今年の。

4. 最大値、最小値、平均値のサンプリング:

> 国から最大(面積)、最小(面積)、平均(面積)を選択します

* 最大最大値; - 最小限。 平均- 平均。

5. 文字列の長さを使用する:

* このリクエスト名前の長さが 5 文字であるすべてのユーザーを表示する必要があります。

より複雑なクエリ、またはほとんど使用されないクエリの例

1. 選択したデータを 1 行にグループ化して連結 (GROUP_CONCAT):

*表より ユーザーフィールドデータが取得される ID、それらはすべて 1 行に配置され、値は分離されています カンマ.

2. 2 つ以上のフィールドによるデータのグループ化:

> SELECT * FROM users GROUP BY CONCAT(タイトル、「::」、誕生)

* 要約すると、この例では、users テーブルからデータをアップロードし、フィールドごとにグループ化します。 タイトルそして 誕生。 グループ化する前に、フィールドを区切り文字で 1 行に結合します。 :: .

3. 2 つのテーブルの結果を結合します (UNION):

> (ユーザーからタイプとして id、fio、アドレス、「ユーザー」を選択)
連合
(顧客から ID、fio、アドレス、タイプとして「顧客」を選択)

* この例では、データはテーブルからサンプリングされます ユーザーそして 顧客.

4. 時間ごとにグループ化された平均のサンプル:

SELECT avg(気温), DATE_FORMAT(datetimeupdate, "%Y-%m-%d %H") ashour_datetime FROM アーカイブ GROUP BY DATE_FORMAT(datetimeupdate, "%Y-%m-%d %H")

*ここではフィールドの平均値を抽出します 温度テーブルから アーカイブフィールドごとにグループ化します 日時更新(1時間ごとの時間分割あり)。

入れる

構文 1:

> に挿入

() 値 ( )

構文 2:

> に挿入

値 ( )

* どこ テーブル— データを入力するテーブルの名前。 田畑— カンマで区切られたフィールドのリスト。価値観— 値をカンマで区切ってリストします。
* 最初のオプションでは、リストされたフィールドのみを挿入できます。残りはデフォルト値を受け取ります。 2 番目のオプションでは、すべてのフィールドに挿入する必要があります。

インサートの使用例

1. 1 つのクエリで複数の行を挿入します。

> 都市 (「名前」、「国」) に挿入 値 (「モスクワ」、「ロシア」)、(「パリ」、「フランス」)、(「フナフティ」、「ツバル」);

* この例では、1 つの SQL クエリに 3 つのレコードを追加します。

2. 別のテーブルからの挿入 (行のコピー、INSERT + SELECT):

* テーブルからすべてのレコードを抽出します 都市名前が「M」で始まるものをテーブルに入力します。 都市-新しい.

アップデート(UPDATE)

構文:

* どこ テーブル— テーブル名; 分野— 値を変更するフィールド。 価値- 新しい意味; 条件— 条件 (これがないと更新は危険です。テーブル全体のすべてのデータを置き換えることができます)。

置換を使用して更新 (REPLACE):

アップデート

セット = 置換( , "<что меняем>", "<на что>");

都市を更新 SET name = REPLACE(name, "マスクバ", "モスクワ");

安全策を講じたい場合は、まず SELECT を使用して置換の結果を確認します。

削除(DELETE)

構文:

* どこ テーブル— テーブル名; 条件— 条件 (UPDATE の場合と同様、条件なしで DELETE を使用するのは危険です。DBMS は確認を求めず、単にすべてのデータを削除します)。

テーブルの作成

構文:

> テーブルの作成

( , )

> `users_rights` が存在しない場合はテーブルを作成 (
`id` int(10) 符号なし NULLではありません,
`user_id` int(10) unsigned NOT NULL、
`rights` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

* どこ テーブル— テーブル名 (例では ユーザーの権利); フィールド1、フィールド2— フィールドの名前 (この例では、3 つのフィールドが作成されます — ID、user_id、権利); オプション 1、オプション 2— フィールドパラメータ(例では int(10) 符号なし NOT NULL); テーブルオプション共通パラメータテーブル (例では ENGINE=InnoDB デフォルトの文字セット=utf8).

PHP でのリクエストの使用

データベースへの接続:

mysql_connect("localhost", "login", "password") または die("MySQL 接続エラー");
mysql_select_db("db_name");
mysql_query("SET NAMES "utf8"");

* ベースへの接続が行われる場所 ローカルサーバー (ローカルホスト); 接続資格情報 - ログインそして パスワード(それぞれ、ログインとパスワード); ベースとして使用される データベース名; 使用されるエンコーディング UTF-8.

永続的な接続を作成することもできます。

mysql_pconnect("localhost", "login", "password") または die("MySQL 接続エラー");

* ただし、ホスティングの最大許容制限に達する可能性があります。 この方法は次の目的で使用する必要があります 独自のサーバー、私たち自身が状況をコントロールできる場合。

接続を完了します:

PHP の * は自動的に実行されますが、 永久接続(mysql_pconnect)。

PHP での MySQL (Mariadb) へのクエリは mysql_query() 関数で実行され、クエリからのデータの取得は mysql_fetch_array() で実行されます。

$result = mysql_query("SELECT * FROM ユーザー");
while ($mas = mysql_fetch_array($result)) (
$mas をエコーし​​ます。 」
";
}

* この例では、テーブルに対してクエリが実行されました。 ユーザー。 クエリ結果は変数に入れられます $結果。 次にループが使用されます その間、各反復でデータの配列を取得し、それを変数に配置します。 $mas— 各反復では、データベースの 1 行を処理します。

使用される mysql_fetch_array() 関数は連想配列を返し、これは操作に便利ですが、代わりに、通常の番号付き配列を返す mysql_fetch_row() 関数もあります。

シールド

クエリ文字列に特殊文字 (% など) を含める必要がある場合は、バックスラッシュ文字 (\) を使用してエスケープする必要があります。

例えば:

* このようなクエリをエスケープせずに実行すると、% 記号は 100 以降の任意の文字数として解釈されます。

それだけです。 リクエストの完了にサポートが必要な場合は、メールでご連絡ください

SQL (構造的に組織化されたクエリ言語) という略語の翻訳自体は、クエリが SQL で最も一般的に使用される要素であるという事実を反映しています。 選択 (SQL) (特定の情報を表示するための DBMS への指示を含むステートメント) は、必要な行の選択、冗長データの自動的な除外、列のスキップまたは並べ替えに役立ちます。

演算子の構文

演算子を正しく使用するには、まず対象のプログラミング言語の構文に慣れる必要があります。 SQL 言語について具体的に説明すると、Select (演算子) の構文は次のとおりです。

これはいわゆる「短い」演算子の構文ですが、Select キーワードと from キーワードがないと DBMS がクエリを実行しないことを示しています。

演算子の完全な構文を次の図に示します。

ここで、Where 句を使用すると、条件を指定して検索を絞り込むことができます。

値をグループ化し、それらに集計関数を適用するには、次を使用します。 グループオファー by、グループ化後の結果を明確にするために、Having 句が使用されます。

Order by を使用すると、選択した列の値を昇順または降順で並べ替えることができます。

Select ステートメントをより詳しく見るために、データベースに次の情報を含む Cats テーブルがあると想像してみましょう。

誕生日

ブルミラ

テーブルの各行には、一意の子猫の番号、品種、名前、生年月日、色が含まれています。 次に、この表のデータに基づいて、Select 演算子 (SQL) がどのように機能するかを見ていきます。

テーブルからデータを取得する方法

上で説明したように、サンプルについては、 必要な情報表からのものを使用する必要があります キーワード.

Select キーワードの後に​​、出力する列を指定します。 必要な列をカンマで区切ってリストを作成すると、全体の構造は次のようになります。

上記のクエリの結果は、Cats テーブル全体であり、前のセクションの最後に含まれていたとおりに表示されます。

多くの人は、SQL Select の実行結果を文字列に配置する方法に興味を持っています。 ほとんどの場合、これは、別々の列にある人の姓、名、および父称を組み合わせる必要がある場合に必要になります。

私たちの場合は、Cats テーブルの猫の品種と色を組み合わせます。 微妙な違いは、文字列の連結に異なる DBMS が使用されるということです。 さまざまなシンボル。 単純なプラス (+) である場合もあれば、二重スラッシュ (||) またはアンパサンド記号 (&) である場合もあり、Concat オペランドも使用される場合があります。 したがって、マージする前に、作業している特定の DBMS のアノテーションを読む必要があります。

冗長データの削除

Distinct は、完全に同一の行の重複を選択結果から除外できる選択 (SQL) 関数です。

たとえば、テーブルに含まれる猫の品種を調べたいとします。 単純なクエリを使用すると、次のようになります。

ご覧のとおり、ボブテイル品種は 2 回複製されています。 Distinct 引数を使用すると重複が排除されます。クエリを追加するだけです。

異なる品種を選択してください

リクエストの明確化

実際には、次の形式でデータを出力するクエリはほとんどありません。 フルセットテーブルの行。 Select (SQL) のどの句で、必要な行のみを選択するための基準を設定できるかを考えてみましょう。

どこにそのような条項があるのか​​。 この文では述語が使用されています - 条件式、true または false の出力が生成されます。 Select 演算子は、条件式が True と評価されるデータのみをテーブルから取得します。

簡単なサンプルは、この設計を理解するのに役立ちます。 黒猫についてすべてを知りたいとします。

論理演算子 And、Or、Not を使用して条件を結合することもできます。

オファーグループ化

Select (SQL) で使用される Group by 句を使用すると、特定の列 (複数可) の値によってクエリをグループ化し、それらに集計関数を適用できます。

集計関数には次のものが含まれます。

  • カウント - クエリによって選択された行の数を計算します。
  • Sum は、選択されたすべての列値の算術合計です。
  • Min - 選択した列の値の最小値を表示します。
  • Max - それぞれ、選択した列値の最大値。
  • Avg - 平均値。

この提案がどのように機能するかを理解する最も簡単な方法は、 具体例。 各品種の子猫が何匹いるかを知りたいとします。 これを行うには、次の簡単なクエリを作成する必要があります。

ご覧のとおり、うちにはボブテイルの子猫が2匹いますが、残りは1匹だけです。 実際には、そのようなリクエストがあれば、ブリーダーは私たちの表に基づいて、どの品種の猫が購入者の間で需要があり、どの品種がそうでないかを理解できます。

実際のテーブルには膨大な数のレコードがあるため、クエリをさらに絞り込んで、たとえば 10 匹以下の子猫の品種だけを表示することが必要になる場合があります。 グループを絞り込んだりフィルタリングするには、Having 句を使用します。 それはあなたが破棄することを可能にします 特定のグループ、Where 句の破棄と同様です。 別々の行。 条件は集計関数で指定します。 リクエストを追加しましょう:

犬種・頭数を選択(*)

カウントあり(*)<=10

「各品種の子猫の数が10匹以下」という条件を設定しているため、結果は指定なしの例と同じになります。 ただし、ここでは、Having 句がどのように機能するかのスキームそのものを理解することが重要です。 しかし、論理条件を Have count(*) =1 に変更すると、結果は 3 行に減り、1 匹だけ残っている子猫の品種が表示されます。

仕分け

Order by について理解しましょう。Select 演算子 (SQL) の句で、1 つ以上の列の値を昇順または降順にして出力行を並べ替えることができます。

Order by は、Select ステートメント構造全体の最後の句であることを覚えておくことが重要です。 これは、Select、From、Where、Group by、Having の後に配置されます。

並べ替えを行う際の重要なポイントは次の 3 つです。

1) 任意の数の列を指定でき、各列を昇順 (ASC) または降順 (DESC) で個別に並べ替えることができます。

2) Order by 句で指定されたすべての列が、Select で選択された列の中に存在する必要があります。

3) ソートする列の特定の名前をリストする必要はありません。Select ステートメント内でその番号を指定するだけで済みます。

この記事を参考にして、SQL クエリの使用に関する基本的な知識を習得し、DBMS から必要な情報を簡単に選択できるようになることを願っています。

すべての Web 開発者は、データベース クエリを作成するために SQL を理解する必要があります。 また、phpMyAdmin はキャンセルされていませんが、多くの場合、低レベルの SQL を記述するために手を汚す必要があります。

そのため、SQL の基本についての短いツアーを用意しました。 始めましょう!

1. テーブルを作成する

CREATE TABLE ステートメントはテーブルを作成するために使用されます。 引数は列の名前とそのデータ型である必要があります。

という名前の単純なテーブルを作成しましょう 。 これは 3 つの列で構成されます。

  • ID– 暦年の月番号 (整数)。
  • 名前– 月の名前 (文字列、最大 10 文字)。
  • 日々– 今月の日数 (整数)。

対応する SQL クエリは次のようになります。

CREATE TABLE months (id int, name varchar(10), days int);

また、テーブルを作成するときは、列の 1 つに主キーを追加することをお勧めします。 これにより、レコードが一意に保たれ、フェッチ リクエストが高速化されます。 この例では、月の名前を一意にします (列 名前)

CREATE TABLE months (id int, name varchar(10), days int, PRIMARY KEY (name));

日時
データ・タイプ説明
日付日付の値
日付時刻日付と時刻の値は分まで正確です
時間時間の値

2. 行の挿入

では、テーブルに記入しましょう 有用な情報。 テーブルへのレコードの追加は、INSERT ステートメントを使用して行われます。 この命令を記述するには 2 つの方法があります。

1 つ目の方法は、データが挿入される列の名前を指定せず、値のみを指定する方法です。

この記録方法は簡単ですが、プロジェクトが拡大してテーブルが編集されたときに、列が以前と同じ順序になるという保証がないため、安全ではありません。 INSERT ステートメントを安全に (同時により煩雑に) 記述する方法では、列の値と順序の両方を指定する必要があります。

これがリストの最初の値です 価値観最初に指定された列名などと一致します。

3. テーブルからのデータの抽出

SELECT ステートメントは、データベースからデータを取得するときの最良の友です。 非常に頻繁に使用されるため、このセクションには細心の注意を払ってください。

SELECT ステートメントの最も単純な使用法は、テーブル (たとえば、名前によるテーブル) からすべての列と行を返すクエリです。 キャラクター):

SELECT * FROM "文字"

アスタリスク (*) 記号は、すべての列からデータを取得することを意味します。 SQL データベースは通常、複数のテーブルで構成されているため、FROM キーワードの後に​​スペースで区切ってテーブル名を指定する必要があります。

テーブル内の一部の列からデータを取得したくない場合があります。 これを行うには、アスタリスク (*) の代わりに、目的の列の名前をカンマで区切って書き留める必要があります。

月から ID、名前を選択します

さらに、多くの場合、結果を特定の順序で並べ替えることが必要になります。 SQL では、ORDER BY を使用してこれを行います。 オプションの修飾子を受け入れることができます - ASC (デフォルト) は昇順でソートするか、DESC (降順でソート) します。

SELECT ID、名前 FROM 月 ORDER BY 名前 DESC

ORDER BY を使用する場合は、それが SELECT ステートメントの最後にあることを確認してください。 そうしないと、エラー メッセージが表示されます。

4. データのフィルタリング

SQL クエリを使用してデータベースから特定の列を選択する方法を学習しましたが、特定の行も取得する必要がある場合はどうすればよいでしょうか? ここで WHERE 句が役に立ち、条件に応じてデータをフィルタリングできるようになります。

このクエリでは、テーブルからそれらの月のみを選択しています。 、30 日を超える場合は、より大きい (>) 演算子を使用します。

SELECT ID、名前 FROM 月 WHERE 日 > 30

5. 高度なデータフィルタリング。 AND 演算子と OR 演算子

以前は、単一の基準を使用したデータ フィルタリングを使用していました。 より複雑なデータ フィルタリングの場合は、AND 演算子、OR 演算子、および比較演算子 (=、<,>,<=,>=,<>).

ここに、史上最も売れたアルバム 4 枚をまとめた表があります。 ロックに分類されるもので、販売枚数が5,000万枚未満のものを選びましょう。 これは、これら 2 つの条件の間に AND 演算子を配置することで簡単に実行できます。


SELECT * FROM アルバム WHERE ジャンル = "ロック" AND sales_in_millions<= 50 ORDER BY released

6. イン/ビトゥイーン/ライク

WHERE はいくつかの特別なコマンドもサポートしているため、最も頻繁に使用されるクエリをすばやく確認できます。 どうぞ:

  • IN – 条件の範囲を示し、そのいずれかが満たされる可能性があることを示します。
  • BETWEEN – 値が指定された範囲内にあるかどうかを確認します
  • LIKE – 特定のパターンを検索します

たとえば、次のようなアルバムを選択したい場合、 ポップそして 音楽の場合は、 IN("value1","value2") を使用できます。

ジャンル IN (「ポップ」、「ソウル」) のアルバムから * を選択します。

1975 年から 1985 年の間にリリースされたすべてのアルバムを取得したい場合は、次のように書かなければなりません。

* 1975 年から 1985 年の間にリリースされたアルバムから選択します。

7. 機能

SQL には、あらゆる種類の便利な機能を実行する関数が満載されています。 最も一般的に使用されるもののいくつかを次に示します。

  • COUNT() – 行数を返します。
  • SUM() - 数値列の合計を返します。
  • AVG() - 一連の値の平均を返します。
  • MIN() / MAX() – 列から最小値/最大値を取得します。

テーブル内の最新の年を取得するには、次の SQL クエリを作成する必要があります。

アルバムから MAX (リリース済み) を選択します。

8. サブクエリ

前の段落では、データを使用して簡単な計算を行う方法を学びました。 これらの計算の結果を使用したい場合は、ネストされたクエリを使用することはできません。 出力したいとしましょう アーティスト, アルバムそして 発売年表内の最も古いアルバムの場合。

これらの特定の列を取得する方法はわかっています。

アーティスト、アルバム、リリースされたアルバムから選択します。

最も早い年を取得する方法もわかっています。

アルバムから MIN (リリース済み) を選択します。

ここで必要なのは、WHERE を使用して 2 つのクエリを結合することだけです。

アーティスト、アルバム、リリースされたアルバムからリリースされた場所を選択 = (アルバムから MIN(リリースされた) を選択);

9. テーブルの結合

より複雑なデータベースでは、相互に関連する複数のテーブルが存在します。 たとえば、以下はビデオ ゲームに関する 2 つの表です ( ビデオゲーム) およびビデオゲーム開発者 ( ゲーム開発者).


表の中で ビデオゲーム開発者のコ​​ラムがあります( 開発者ID) ですが、開発者の名前ではなく整数が含まれています。 この番号は識別子 ( IDゲーム開発者の表から該当する開発者の ) ( ゲーム開発者)、2 つのリストを論理的にリンクし、両方のリストに格納されている情報を同時に使用できるようにします。

ゲームについて知る必要があるすべてを返すクエリを作成したい場合は、INNER JOIN を使用して両方のテーブルの列をリンクできます。

SELECT video_games.name、video_games.genre、game_developers.name、game_developers.country FROM video_games INNER JOIN game_developers ON video_games.developer_id = game_developers.id;

これは最も単純で最も一般的な JOIN タイプです。 他にもいくつかのオプションがありますが、これらはあまり一般的ではないケースに当てはまります。

10. エイリアス

前の例を見ると、という 2 つの列があることがわかります。 名前。 これは混乱を招くため、次のように繰り返し列の 1 つに別名を設定しましょう。 名前テーブルから ゲーム開発者呼ばれます 開発者.

テーブル名にエイリアスを付けることでクエリを短縮することもできます。 ビデオゲーム電話しましょう ゲーム, ゲーム開発者 - 開発者:

SELECT games.name、games.genre、devs.name AS開発者、devs.country FROM video_games AS games INNER JOIN game_developers AS devs ON games.developer_id = devs.id;

11. データ更新

多くの場合、いくつかの行のデータを変更する必要があります。 SQL では、これは UPDATE ステートメントを使用して行われます。 UPDATE ステートメントは次のもので構成されます。

  • 置換値が配置されるテーブル。
  • 列名とその新しい値。
  • WHERE を使用して選択された、更新する行。 これを行わないと、テーブル内のすべての行が変更されてしまいます。

以下は表です 連続テレビ番組テレビシリーズとその評価について。 ただし、テーブルには小さなエラーが忍び込みました。 ゲーム・オブ・スローンズコメディとして描かれていますが、実際はそうではありません。 これを修正しましょう!

テーブルデータ tv_series UPDATE tv_series SET ジャンル = "ドラマ" WHERE id = 2;

12. データの削除

SQL を使用してテーブル行を削除するプロセスは非常に簡単です。 削除するテーブルと行を選択するだけです。 前の例からテーブルの最後の行を削除してみましょう 連続テレビ番組。 これは、>DELETE 命令を使用して行われます。

DELETE FROM tv_series WHERE id = 4

DELETE ステートメントを作成するときは注意して、WHERE 句が存在することを確認してください。そうでないと、テーブル内のすべての行が削除されます。

13. テーブルを削除する

すべての行を削除してテーブル自体を残しておきたい場合は、TRUNCATE コマンドを使用します。

TRUNCATE TABLE テーブル名;

実際にデータとテーブル自体の両方を削除したい場合は、DROP コマンドが役立ちます。

DROP TABLE テーブル名;

これらのコマンドには十分注意してください。 キャンセルできません!/p>

これで SQL チュートリアルは終了です。 ここで取り上げていないことはたくさんありますが、Web キャリアのための実践的なスキルを身に付けるには、すでに知っている内容で十分です。

注記:
現在の SQL チュートリアル カテゴリのすべての記事では、トレーニング データベースに基づいた例と問題が使用されています。

SELECT ステートメントは、SQL でデータベース テーブルからデータを取得する役割を果たします。 この記事では、その最も単純な構文と例について説明します。

単純なデータベース クエリを実行するには、次の 2 つの条件 (文) を指定するだけで十分です。

  • どの列をアンロードする必要があるか。
  • どのテーブルから列をアンロードする必要がありますか?

の上 SQL言語次のようになります:

選択する<Перечень столбцов>から<Перечень таблиц>

列名は、SELECT キーワードの直後にカンマで区切ってリストされます。 この後に、テーブルの名前を含む FROM キーワードが続きます。 複数のテーブルがある場合は、それらもカンマで区切って示されます。

注記:

複数のテーブルに対するクエリは考慮されません。 この素材、このトピックはテーブルの結合に関連しているか、WHERE 句の知識が必要なためです。

列とテーブルは任意の順序でリストでき、複数回繰り返すことができます。

データベースへの接続

多くの場合、サーバー上には複数のデータベースが存在します。 したがって、リクエストを実行する前に、特定のデータベースに接続する必要があります。 これを行う方法を学びましょう SQLサーバー管理スタジオ:

これで、あらゆるリクエストがそのコンテキスト内で実行されるようになります。

SQLクエリの作成

最初のタスクを完了しましょう。

すべての従業員の姓、名、および父称を取得する必要があります。

クエリ フィールドに、次の SQL コードを入力します。

従業員から姓、名、父称を選択します

クエリの最初の行にはページングされる列が含まれており、2 行目では列のテーブルを指定します。 実際、コードは「従業員テーブルから姓、名、ミドルネームの列を選択する」という通常の文に似ています。

SQL エディター パネルの [実行] ボタンをクリックします。 実行結果はリクエスト ウィンドウの下部に表示されます。 結果の下には、リクエストのステータスと期間、およびアンロードされた行数が表示されます。 すべて正しく実行すると、ステータスは「リクエストは正常に完了しました」と表示され、行数は 39 になります。

構文の説明

キーワードや名前はどのような場合でも構いません。 このオプションは前のオプションとまったく同じです。

M 人の従業員の姓、名、父称を選択してください

また、各条件を新しい行で開始する必要もありません。

その他のリクエストオプション

コードを記述する前に、データベースに接続する必要性について説明しました。 ただし、この特定のケースでは、接続なしで行うことができます (一部のプログラムでは、これは必須要件です)。 FROM 句にデータベース名とスキーマ名 (デフォルトでは dbo) を追加指定するだけで十分です。

SELECT 姓、名、父称 FROM CallCenter.dbo.Employees

次に、単純な SELECT ステートメントの構文を説明します (クエリのオプション部分は 角括弧):

SELECT [テーブル名.]列名[, [テーブル名.]列名2 ...] FROM [[データベース名.]スキーマ名.]テーブル名

名前を追加するとリクエスト コードが煩雑になるため、USE ステートメントを使用できます。 コンテキストを指定されたデータベースに切り替えます。

USE CallCenter SELECT 姓、名、父称 FROM 従業員

このアプローチにより、目的のデータベースに確実に接続できます。

注記:

詳細な列名とテーブル名には、単語の間にスペースが含まれる場合があります。 このような場合、クエリが正しく機能するように、名前は角かっこで囲まれています。 たとえば、[列名]。