Fondamentalement, l'opérateur MySQL UNION est utilisé pour combiner les ensembles de résultats de 2 instructions SELECT ou plus. Il supprime les lignes en double entre les instructions SELECT. Chaque instruction SELECT de l'opérateur UNION doit avoir le même nombre de champs dans l'ensemble de résultats de types de données similaires. Sa syntaxe est la suivante -
SELECT expression1, expression2, … expression_n FROM table [WHERE conditions] UNION [DISTINCT] SELECT expression1, expression2, … expression_n FROM table [WHERE conditions]
Ici, expression1, expression2,...expression_n sont les colonnes que nous souhaitons récupérer.
Table est la table à partir de laquelle nous souhaitons récupérer les enregistrements.
Condition OÙ, Elle est facultative et doit être remplie pour sélectionner un enregistrement.
DISTINCT, La suppression des doublons de l'ensemble de résultats est également facultative, mais l'inclusion du modificateur DISTINCT n'a aucun effet sur l'ensemble de résultats de l'opérateur UNION car l'opérateur UNION supprime déjà les doublons par défaut.
Dans cet exemple, nous avons deux tables, Student_detail et Student_info, avec les données suivantes -
mysql> Select * from Student_detail; +-----------+---------+------------+------------+ | studentid | Name | Address | Subject | +-----------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 130 | Ram | Jhansi | Computers | | 132 | Shyam | Chandigarh | Economics | | 133 | Mohan | Delhi | Computers | | 150 | Rajesh | Jaipur | Yoga | | 160 | Pradeep | Kochi | Hindi | +-----------+---------+------------+------------+ 7 rows in set (0.00 sec) mysql> Select * from Student_info; +-----------+-----------+------------+-------------+ | studentid | Name | Address | Subject | +-----------+-----------+------------+-------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 130 | Ram | Jhansi | Computers | | 132 | Shyam | Chandigarh | Economics | | 133 | Mohan | Delhi | Computers | | 165 | Abhimanyu | Calcutta | Electronics | +-----------+-----------+------------+-------------+ 6 rows in set (0.00 sec)
Maintenant, la requête suivante utilisant l'opérateur UNION renverra toutes les valeurs "studentid" dans les deux tables.
mysql> Select Studentid FROM student_detail UNION SELECT Studentid FROM student_info; +-----------+ | Studentid | +-----------+ | 101 | | 105 | | 130 | | 132 | | 133 | | 150 | | 160 | | 165 | +-----------+ 8 rows in set (0.00 sec)
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!