Insérer des données dans une table en référençant les colonnes d'une autre table en SQL
P粉342101652
2023-08-02 16:27:21
<p>J'ai créé deux tables, l'une est animation_companies (société d'animation) et l'autre est cartoon_characters (personnages de dessins animés). Maintenant, je reçois un document qui dit "Simulation d'un superviseur demandant d'insérer des informations dans une base de données que j'ai créée". Les données ressembleront à ceci :<br /><br />La table animation_companies ne contiendra que les trois enregistrements suivants :</p><p><br /></p>
<pre class="brush:php;toolbar:false;">Warner Bros.
Disney
Nickelodeon</pré>
<p>La table cartoon_characters ne contiendra que quatorze (14) enregistrements, y compris le nom du personnage, l'année de sa création et la société propriétaire du personnage de dessin animé. <br /><br />Les sociétés "Warner Bros.", "Disney" et "Nickelodeon" sont uniquement à des fins d'affichage et doivent être référencées à partir de la table animation_companies.</p><p><br /></p>
<pre class="brush:php;toolbar:false;">|Nom du dessin animé |Année de création |Entreprise
| ------------- | ------------- |--------------- |
|Porky Pig |1935 |Warner Bros.|
|Daffy Duck |1937 |Warner Bros.|
|Elmer Fudd |1937 |Warner Bros.|
|Bugs Bunny |1940 |Warner Bros.|
|Corne de brume Livourne|1946 |Warner Bros.|
|Mickey Souris |1928 |Disney |
|Dingo |1934 |Disney |
|Donald Canard |1931 |Disney |
|Elsa d'Arendelle|2013 |Disney |
|Anne d'Arendelle|2013 |Disney |
|Doug Funnie |1991 |Nickelodeon |
|Arnold Shortman|1985 |Nickelodeon |
|Tommy Pickles |1991 |Nickelodeon |
|Aang |2005 |Nickelodeon |</pré>
<p>
<pre class="brush:php;toolbar:false;">CREATE TABLE Animation_Companies
(
CompanyID INT CLÉ PRIMAIRE AUTO_INCREMENT,
Nom de l'entreprise VARCHAR(100) NOT NULL
);
La table cartoon_characters a été créée à l'aide de cette instruction :
CREATE TABLE Personnages_de_dessins_animés
(
cartoonID INT CLÉ PRIMAIRE AUTO_INCREMENT,
cartoonName VARCHAR(100) NON NULL,
annéeCréé INT,
SociétéPropriétaire INT NON NULL,
CompanyID INT NON NULL,
CONTRAINTE Cartoon_Characters_fk_Animation_Companies
CLÉ ÉTRANGÈRE (CompanyID) RÉFÉRENCES Animation_Companies (CompanyID)
);</pré>
<p>
<pre class="brush:php;toolbar:false;">INSERT INTO animation_companies(CompanyName)
VALEURS ("Warner Bros."), ("Disney"), ("Nickelodeon") ;</pre>
<p>使用列列表,编写插入语句,插入卡通名称、创建年份和所属公司。<br /><br />Remarque : <br /><br />Placez la chaîne entre guillemets simples. Faites attention aux espaces. Utilisez DEFAULT pour incrémenter automatiquement la valeur. par l'ID entier." <br /><br />Voici l'instruction que j'ai essayée : </p><p><br /></p>
<pre class="brush:php;toolbar:false;">INSÉRER DANS cartoon_characters
VALEURS (PAR DÉFAUT, 'Porky Pig', 1935, 'Warner Bros.', 1),
(DÉFAUT, 'Daffy Duck', 1937, 'Warner Bros.', 1),
(DÉFAUT, 'Elmer Fudd', 1937, 'Warner Bros.', 1),
(PAR DÉFAUT, 'Bugs Bunny', 1940, 'Warner Bros.', 1),
(DÉFAUT, 'Foghorn Leghorn', 1946, 'Warner Bros.', 1),
(PAR DÉFAUT, 'Mickey Mouse', 1928, 'Disney', 2),
(DÉFAUT, 'Goofy', 1934, 'Disney', 2),
(DÉFAUT, 'Donald Duck', 1931, 'Disney', 2),
(DÉFAUT, 'Elsa d'Arendelle', 2013, 'Disney', 2),
(DÉFAUT, 'Anna d'Arendelle', 2013, 'Disney', 2),
(DÉFAUT, 'Doug Funnie', 1991, 'Nickelodeon', 3),
(DÉFAUT, 'Arnold Shortman', 1985, 'Nickelodeon', 3),
(DÉFAUT, 'Tommy Pickles', 1991, 'Nickelodeon', 3),
(DÉFAUT, 'Aang' 2005, 'Nickelodeon', 3);</pre>
<p><br /></p>
Une solution consiste à insérer d’abord les données dans une table temporaire.
Puis rejoignez-le (JOIN) avec la table Animation_Companies.