Cet article présentera en détail comment implémenter l'intersection de l'ensemble de résultats renvoyé par SQLrequête dans MySQL Les amis qui en ont besoin peuvent s'y référer.
1
Comment implémenter la requête SQL suivante dans MySQL
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T. CrsCode = 'CS305' )
INTERSECT
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
OÙ S.StudId = T.StudId AND T.CrsCode = 'CS315')
N'hésitez pas à me donner quelques conseils. Merci d'avance ~
Solution :
Obtenir l'intersection
sélectionner un.* parmi
(
SÉLECTIONNER S.Nom
DE L'ÉTUDIANT S, TRANSCRIPTION T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305'
) en tant que
jointure croisée
(
SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
OÙ S.StudId = T.StudId AND T.CrsCode = 'CS315'
) comme b sur a.Name = b.Name;
2
SELECT * FROM (
SÉLECTIONNER col1 DISTINCTE DE t1 OÙ...
UNION TOUS
SÉLECTIONNER col1 DISTINCTE DE t1 OÙ...
) COMME tbl
GROUPE PAR tbl.col1 AYANT COUNT( *) = 2
3.
Intersection :
SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name
Exemple :
Tableau a :
ChampA
001
002
003
Tableau b :
ChampA
001
002
003
004
Veuillez me dire comment obtenir l'ensemble de résultats suivant, c'est-à-dire l'intersection des lignes des tableaux A et B
FieldA
001
002
003
Réponse : sélectionnez a.FieldA à partir d'une jointure interne b sur a.FieldA =b.FieldA
Ensemble de différences :
NOT IN représente l'ensemble de différences
SELECT * FROM table1 WHERE name NOT IN (SELECT name FROM table2 )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!