從 MySQL 的另一列中提取具有指定公共值的元組?


要提取具有指定公共值的元組,請使用以下語法 −

SELECT DISTINCT
aliasName.yourColumnName1,aliasName.yourColumnName2,aliasName1.yourColumnName
1,aliasName1.yourColumnName2
FROM yourTableName aliasName
INNER JOIN yourTableName aliasName1
ON aliasName.yourColumnName1 = aliasName1.yourColumnName1
WHERE aliasName.yourColumnName2 = 'value1' AND aliasName1.yourColumnName2 =
'value2';

要了解上述語法,我們先建立一個表。建立表的查詢如下 −

mysql> create table extractTuples
   -> (
   -> Id int,
   -> Name varchar(20),
   -> Comments text
   -> );
Query OK, 0 rows affected (0.77 sec)

使用 insert 命令在表中插入一些記錄。查詢如下 −

mysql> insert into extractTuples values(1,'John','hi');
Query OK, 1 row affected (0.20 sec)
mysql> insert into extractTuples values(2,'Carol','hello');
Query OK, 1 row affected (0.17 sec)
mysql> insert into extractTuples values(3,'John','Amazing');
Query OK, 1 row affected (0.13 sec)
mysql> insert into extractTuples values(1,'Carol','Good');
Query OK, 1 row affected (0.14 sec)

使用 select 語句顯示錶中的所有記錄。查詢如下 −

mysql> select *from extractTuples;

輸出

+------+-------+----------+
| Id   | Name  | Comments |
+------+-------+----------+
|    1 | John  | hi       |
|    2 | Carol | hello    |
|    3 | John  | Amazing  |
|    1 | Carol | Good     |
+------+-------+----------+
4 rows in set (0.00 sec)

以下是提取具有指定公共值的元組的查詢 −

mysql> SELECT DISTINCT tbl.Id,tbl.Name,tbl1.Id,tbl1.Name
   -> FROM extractTuples tbl
   -> INNER JOIN extractTuples tbl1
   -> ON tbl.Id = tbl1.Id
   -> WHERE tbl.Name = 'John' AND tbl1.Name = 'Carol';

輸出

+------+------+------+-------+
| Id   | Name | Id   | Name  |
+------+------+------+-------+
|    1 | John |    1 | Carol |
+------+------+------+-------+
1 row in set (0.00 sec)

更新於: 30-Jul-2019

405 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

點選開始
廣告
© . All rights reserved.