【发布时间】:2021-10-29 13:26:13
【问题描述】:
例子
CREATE TABLE book(
title VARCHAR(100) PRIMARY KEY,
price INT NOT NULL
)
CREATE TABLE buyer(
name VARCHAR(20) ,
title VARCHAR(100),
primary key(name,title),
foreign key(title)
references book
)
我将省略输入数据的代码
book data = {('a',100),('b',200),('c',100),('d',300)}
buyer data = {('kim','a'),('kim','b'),('ca','c'),('yan','d'),('yan','c')}
select name, sum(price) sum_price
from book,buyer
group by name
我想知道名字的总数
但这个结果是所有书籍的总和。
不知道是什么问题
【问题讨论】:
-
今日提示:切换到现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且如果需要更容易转换为外连接。 -
book, buyer与CROSS JOIN相同。只需使用SELECT *不带GROUP BY子句检查结果