我只有一個表,如下所示
| ID | 姓名 | 產品 |
|---|---|---|
| 1 | 賽 | 米 |
| 2 | 賽 | 落潮 |
| 3 | 斯里蘭卡 | 米 |
| 4 | 記憶體 | 米 |
| 5 | 西塔 | 落潮 |
| 6 | 濕婆 | 落潮 |
請幫我撰寫一個 SQL 查詢,只顯示 m ,只顯示 ebb 和兩者。只有米
| ID | 姓名 | 產品 |
|---|---|---|
| 3 | 斯里蘭卡 | 米 |
| 4 | 記憶體 | 米 |
只有退潮
| ID | 姓名 | 產品 |
|---|---|---|
| 5 | 西塔 | 落潮 |
| 6 | 濕婆 | 落潮 |
相交或兩者兼有
| ID | 姓名 | 產品 |
|---|---|---|
| 1 | 賽 | 米 |
| 2 | 賽 | 落潮 |
我嘗試過使用 not except,joins 但對我沒有任何幫助。請幫助我。
uj5u.com熱心網友回復:
使用子查詢如下
mysql> select * from tbl where name in (select name from tbl where product = 'm') and name not in (select name from tbl where product = 'EBB');
---- ------ ---------
| id | name | product |
---- ------ ---------
| 3 | sri | m |
| 4 | ram | m |
---- ------ ---------
2 rows in set (0.01 sec)
mysql> select * from tbl where name not in (select name from tbl where product = 'm') and name in (select name from tbl where product = 'EBB');
---- ------ ---------
| id | name | product |
---- ------ ---------
| 5 | sita | EBB |
| 6 | siva | EBB |
---- ------ ---------
2 rows in set (0.01 sec)
mysql> select * from tbl where name in (select name from tbl where product = 'm') and name in (select name from tbl where product = 'EBB');
---- ------ ---------
| id | name | product |
---- ------ ---------
| 1 | sai | m |
| 2 | sai | EBB |
---- ------ ---------
2 rows in set (0.00 sec)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510809.html
