データセットでMySQLUNION演算子をどのように使用できますか?
基本的に、MySQL UNION演算子は、2つ以上のSELECTステートメントの結果セットを組み合わせるために使用されます。さまざまなSELECTステートメント間の重複行を削除します。 UNION演算子内の各SELECTステートメントは、同様のデータ型内の結果セットに同じ数のフィールドを持っている必要があります。その構文は次のようになります-
構文
SELECT expression1, expression2, … expression_n FROM table [WHERE conditions] UNION [DISTINCT] SELECT expression1, expression2, … expression_n FROM table [WHERE conditions]
ここで、 expression1、expression2、…expression_n 取得したい列です。
テーブル レコードを取得するテーブルです。
場所の状態 レコードを選択するために満たす必要があるのはオプションです。
DISTINCT、 結果セットから重複を削除することもオプションですが、デフォルトではUNION演算子がすでに重複を削除しているため、DISTINCT修飾子を含めてもUNION演算子の結果セットに影響はありません。
例
この例では、Student_detailとStudent_infoという2つのテーブルがあり、次のデータがあります-
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)
ここで、UNION演算子を使用した次のクエリは、両方のテーブルのすべての「studentid」値を返します。
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)
-
MySQL SELECTステートメントの間にコンマを使用できますか?
はい、できます。構文は次のとおりです- Syntax1: select * from yourTableName1,yourTableName2; Syntax2: select * from yourTableName1 cross join yourTableName2; 上記の構文はどちらも同じ結果になります。 まずテーブルを作成しましょう- mysql> create table DemoTable1882 ( Id int ); Query OK, 0 rows affected (0.00 se
-
MySQLのselectでif/else条件を使用するにはどうすればよいですか?
まずテーブルを作成しましょう- mysql> create table DemoTable1966 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20), PhotoLiked int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert int