人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Accessの削除クエリの、
「レコードの削除」と言う項目で
「where」, 「from」の二種類を選ぶことができますが、これは何ですか?

SQL文にも、whereとfromがありますが、関係あるのでしょうか? 単純な構造のSQL文であれば、多少は読み書きできるのですが、イマイチ関係がわかりません。

詳しい方、どうぞ、よろしくお願いいたします。

●質問者: hina1981
●カテゴリ:コンピュータ
✍キーワード:access SQL イマイチ クエリ レコード
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● TONTON3
●20ポイント

Where は条件を設定します。Fromはテーブルを設定します。

レコードの削除でも実際はSQLが発行されています。

これは左上のSQLのボタンを押すと確認できます。

DELETE文というSQLになります。

http://sql.main.jp/cont/sql/de.html

◎質問者からの返答

ありがとうございます。

アクションクエリにおいて、SQL文が投げられているというのは、なんとなく想像がついていました。


delete * from T_userdata where user_age>30


みたいなカンジですよね。

(細かい書き方は憶えてませんが……)

確かに、テーブルの前にfromが来て、レコードの条件の前にwhereが来るのは、なんとなく憶えています。

で、このことと、削除クエリの動作が私の中で結びつきません。


2 ● りくっち
●80ポイント ベストアンサー

SQL文では、where句は条件指定、from句は参照テーブルの指定に使いますが、

ACCESSの削除クエリーの場合の違いは、

fromは全テーブルの指定にのみ使え、

(デザインビューでテーブルをマウントして、アスタリスクをドラッグすると出てくると思います)

whereはフィールドごとに設定できます。

これは、削除クエリがテーブルの全項目を対象としているために設定されている仕様かと。

http://www.accessclub.jp/sql/13.html

http://www.nbcom.co.jp/PC-Support/FAQ/acc/ht/acc062005ht001.shtm...


以上ご参考まで。

◎質問者からの返答

ありがとうございます。

まとめると、


・削除したいレコードを条件で指定したい場合には、条件にしたいフィールドをデザイングリッドに追加して、そのフィールドをwhereに指定する。

・テーブルの全レコードを削除したい場合には、*をデザイングリッドに追加して、fromにする。

ってカンジなのですかね……???


確かに、*をデザイングリッドに追加したら自動的にfromになりました。

で、今、試してみたのですが、フィールドに対してfromや、*に対してwhereを設定することはできないのですね。


3 ● freemann
●40ポイント

構文は

DELETE FROM テーブル名 WHERE 条件

と書けて、もしWHEREで条件を指定しないと

DELETE FROM テーブル名

になり、指定されたテーブルの全行が削除されます。

テーブルの一部のみ削除したいのであれば、WHEREで条件を指定します。

あまり難しく考える必要はないかと思います。考え方としては、

テーブル名から(FROM)条件のところを(WHERE)削除する(DELETE)。でよいかなと

◎質問者からの返答

ありがとうございます。

条件を指定するための、where、条件を指定しないための、fromみたいなカンジですかね。


あんまり意味はないと思ってよさそうですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ