mysql - (sql) 如何连接并获取两个表之间的内容

标签 mysql sql

问题是

表A

(`manufacturerID`, `company_name`, `address`, `city`, `state`, `post_code`, `area_code`, `phone_number`)

('AA04', 'Ken', '6000 16th Ave N', 'San Diego', 'CA', '92101', '213', '981-8745'),

('AA05', 'Lenar', '1230 9th Ave N', 'Baltimore', 'MD', '21202', '301', '321-0987');

表B

(`productID`, `product_name`, `price`, `sale_price`, `in_stock`, `on_order`, `categoryID`, `manufacturerID`) 

('CT200', 'China Puppy', 15, 13.5, 20, 40, 4, 'AA04'),

('CT201', 'Wooden Puppy', 18, 14.5, 15, 25, 4, 'AA04'),

('CT202', 'Tanjore Doll', 17, 13.5, 20, 40, 2, 'AA01'),

Ken 生产了多少种玩具产品?

这是我的回答

SELECT COUNT( `manufacturerID` ) 
FROM `toyproducts` 
WHERE `manufacturerID` = 'AA04'

但是正确答案是什么?

最佳答案

您可以使用自然连接来连接表。由于我们可以连接两个表的公共(public)列具有相同的名称,因此我们可以使用自然连接。一般来说,带有连接条件的内部连接是有效的。

select count(manufacturerID) FROM TableA NATURAL JOIN TableB where company_name='Ken'

虽然内部联接比自然联接更具可读性。

关于mysql - (sql) 如何连接并获取两个表之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095269/

相关文章:

java - Spring JdbcTemplate "insert into.. select from.."不工作

mysql - 如何获取最后一个相关更新和倒数第二个相关更新

php - SQL INSERT IGNORE 唯一的值组合

php - 如何从我的 WAMP 环境迁移到使用 MSSQL?

mysql - 如何在 SELECT 的结果中有条件地对某些行进行二元化?

mysql - 基于另一个表中存在的条件选择值?

mysql - 长查询字符串会影响速度吗?

python - 如何使用 python 脚本从我的树莓派访问 Windows 桌面上 wamp 服务器中的外部 mysql 数据库?

mysql - 如何加速具有多个连接的 Group By 语句?

mysql - 每组选择四个项目?