MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

データセットで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)

  1. 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

  2. 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