Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从两个表中提取数据_Sql - Fatal编程技术网

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

我正在测试网站上学习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,
  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年前),用正确的ANSI
JOIN
语法替换了老式的逗号分隔表列表样式,不鼓励使用它
SELECT items.name, sellers.name
FROM sellers
INNER JOIN items
ON sellers.id = items.id
WHERE sellers.rating > 4;