Mysql 查找表1中通过外键链接到表2中零行的所有行
外键trade.ticker\u id指向ticker.id 我想在“ticker”中找到与之链接的“trades”中没有行的所有行Mysql 查找表1中通过外键链接到表2中零行的所有行,mysql,Mysql,外键trade.ticker\u id指向ticker.id 我想在“ticker”中找到与之链接的“trades”中没有行的所有行 mysql> describe trade; +-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------
mysql> describe trade;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | datetime | NO | | NULL | |
| price | float | NO | | NULL | |
| quantity | int(11) | NO | | NULL | |
| source | varchar(64) | YES | | NULL | |
| buyer | varchar(64) | YES | | NULL | |
| seller | varchar(64) | YES | | NULL | |
| initiator | varchar(64) | YES | | NULL | |
| ticker_id | int(11) | YES | MUL | NULL | |
+-----------+-------------+------+-----+---------+----------------+
9 rows in set (0,00 sec)
mysql> describe ticker;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(64) | NO | | NULL | |
| long_name | varchar(250) | YES | | NULL | |
| exchange_id | int(11) | YES | MUL | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0,00 sec)
您可以使用
左连接
和为空
或换句话说,反连接
select tc.* from ticker tc
left join trade tr on tr.ticker_id = tc.id
where tr.ticker_id is null
试试这个:
SELECT * FROM ticker WHERE id NOT IN (SELECT ticker_id FROM trade)
请注意,货币通常是十进制的,如果这是一家银行,我想它不会是浮动的,但对于我的应用程序来说,它是最好的。我在用Matlab分析股价。太棒了!谢谢,我是个十足的SQL高手。