Sql 从两个表中提取数据
我正在测试网站上学习SQL,无法通过这个问题。(测试穹顶) 网上商店中的每件商品都属于卖家。为了确保服务质量,每个卖家都有一个评级 数据保存在以下两个表中:Sql 从两个表中提取数据,sql,Sql,我正在测试网站上学习SQL,无法通过这个问题。(测试穹顶) 网上商店中的每件商品都属于卖家。为了确保服务质量,每个卖家都有一个评级 数据保存在以下两个表中: TABLE sellers id INTEGER PRIMARY KEY, name VARCHAR(30) NOT NULL, rating INTEGER NOT NULL TABLE items id INTEGER PRIMARY KEY, name VARCHAR(30) NOT NULL, seller
TABLE sellers
id INTEGER PRIMARY KEY,
name VARCHAR(30) NOT NULL,
rating INTEGER NOT NULL
TABLE items
id INTEGER PRIMARY KEY,
name VARCHAR(30) NOT NULL,
sellerId INTEGER REFERENCES sellers(id)
编写一个查询,为属于评分大于4的卖家的每个商品选择商品名称及其卖家名称。查询应将商品名称作为第一列返回,将卖家名称作为第二列返回
我尝试了以下几点,这是我最接近的尝试:
SELECT items.name, sellers.name
FROM sellers, items
WHERE sellers.rating > 4;
提前感谢您费心回答我的noob问题。您想加入表格吗
这里有一个指向w3s教程的链接,这个主题在这里解释得很好:您差点就到了,但是忘记了指定连接条件,没有连接条件将是一个
交叉连接(两个表行的所有可能组合)
在更广泛的形式中,上述内容应与以下内容相同
SELECT items.name, sellers.name
FROM sellers
INNER JOIN items
ON sellers.id = items.id
WHERE sellers.rating > 4;
-在ANSI-92 SQL标准中(超过25年前),用正确的ANSIJOIN
语法替换了老式的逗号分隔表列表样式,不鼓励使用它
SELECT items.name, sellers.name
FROM sellers
INNER JOIN items
ON sellers.id = items.id
WHERE sellers.rating > 4;