..


スポンサーリンク

JOINを使用し、それらのテーブルを削除します。

マックスボッシによって書かれた記事

この短い記事ではMySQLのテーブル間のリレーションシップの作成 ​​、すなわち、結合の可能性を活用する(DELETE)は、 クエリを削除するために行う可能性がある方法を見ていきます
実際、我々はすでに方法を見てきたデータの選択(SELECT)でJOINを使用し、 (UPDATE)更新されて、ここでは唯一、すでに学習されているものを拡張します。

良くこの手法の可能性を学ぶために使用の具体的なケースを想定して私たちの習慣として、考慮する必要があります。

それでは、例としては、次の表(このうち我々はそれらの構造を記述)から構成される仮想的な倉庫のデータベースで作業する必要があると言う。

    • ID(int型)
    • 説明(VARCHAR)
    • ID(int型)
    • scaffale_id(int型)
    • 説明(VARCHAR)
  • 製品
    • ID(int型)
    • ripiano_id(int型)
    • 名(VARCHAR)
    • 価格(フロート)
今は、製品を排除する必要性があるとします。 我々は、次の3つの異なった結果に対処する。

1)あなたがIDを知っている単一の製品を削除するとします。 この場合、あなただけの些細なクエリを実行することができます。

 



 ID = 1の製品* FROMを削除する。

 
あなたが与えられた棚に詰め込ますべての製品を削除する場合2)同じクエリが使用されます。
 



 = 1をripiano_id製品* FROMを削除する。

 
3)しかし、あなたは与えられたシェルフ内のすべての製品を削除したい場合は?
"製品"の棚を参照するにはフィールドがないため、以前に見られるような単純なクエリは不可能です!

実際には問題は克服できないです! クエリの処理で"少し器用で、実際には、障害物が簡単に回避される! どのように? JOINと! 次に例を示します。

 



製品を削除.*







製品INNER JOINの棚から







 = prodotti.ripiano_id ripiani.id ON







 WHERE = 1 ripiani.scaffale_id。



そうすることで、我々は"この分野"scaffale_idを"利用するために二つのテーブル"商品"と"棚"(第二の最初の識別子と一致する"ripiano_id"テーブルのJOINのフィールドに基づいて)との関係を作成する最後に。

一見すると、おそらく、少し複雑に見えるかもしれませんが...。 実際には非常に簡単です。 それは、 程度の最初の操作に情報を使用するために、2つのテーブル間の論理関係を作成している

製品に加えて、我々はわずかに異なるクエリを使用して、特定のpututoに対応するすべての棚の棚を削除したい場合には、:

 



製品を削除.*、棚を.*







製品INNER JOINの棚から







 = prodotti.ripiano_id ripiani.id ON







 WHERE = 1 ripiani.scaffale_id。



本質的にはこれは単にキャンセルはテーブル"商品"のフィールドではないだけに影響を与えることを唯一の違い上記のクエリビューです。
 



製品.*

 
でなく、それらの表"棚"の:
 



棚.*

 
ご質問、ご要望の場合は私はあなたが私達の上投稿して招待するフォーラム

同じカテゴリの...
E -ラーニング
MS Accessの(上級) MS Accessの(上級)
迅速かつ簡単にデータベースを作成および管理する方法を学びます。 29€から開始。
MySQLの(コース) MySQLの(コース)
オープンソースのデータベースの管理。 39€から。
SQLとデータベース(コース) SQLとデータベース(コース)
リレーショナルデータベースを作成および管理。 39€から。
スポンサーリンク