「レコードの削除」と言う項目で
「where」, 「from」の二種類を選ぶことができますが、これは何ですか?
SQL文にも、whereとfromがありますが、関係あるのでしょうか? 単純な構造のSQL文であれば、多少は読み書きできるのですが、イマイチ関係がわかりません。
詳しい方、どうぞ、よろしくお願いいたします。
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はテーブルを設定します。
レコードの削除でも実際はSQLが発行されています。
これは左上のSQLのボタンを押すと確認できます。
DELETE文というSQLになります。
ありがとうございます。
アクションクエリにおいて、SQL文が投げられているというのは、なんとなく想像がついていました。
delete * from T_userdata where user_age>30
みたいなカンジですよね。
(細かい書き方は憶えてませんが……)
確かに、テーブルの前にfromが来て、レコードの条件の前にwhereが来るのは、なんとなく憶えています。
で、このことと、削除クエリの動作が私の中で結びつきません。
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を設定することはできないのですね。
構文は
DELETE FROM テーブル名 WHERE 条件
と書けて、もしWHEREで条件を指定しないと
DELETE FROM テーブル名
になり、指定されたテーブルの全行が削除されます。
テーブルの一部のみ削除したいのであれば、WHEREで条件を指定します。
あまり難しく考える必要はないかと思います。考え方としては、
テーブル名から(FROM)条件のところを(WHERE)削除する(DELETE)。でよいかなと
ありがとうございます。
条件を指定するための、where、条件を指定しないための、fromみたいなカンジですかね。
あんまり意味はないと思ってよさそうですね。
ありがとうございます。
まとめると、
・削除したいレコードを条件で指定したい場合には、条件にしたいフィールドをデザイングリッドに追加して、そのフィールドをwhereに指定する。
・テーブルの全レコードを削除したい場合には、*をデザイングリッドに追加して、fromにする。
ってカンジなのですかね……???
確かに、*をデザイングリッドに追加したら自動的にfromになりました。
で、今、試してみたのですが、フィールドに対してfromや、*に対してwhereを設定することはできないのですね。