表结构:
User(UID,Uname,Uage,Usex)用户表
Product(PID,Pname)产品表
UscSCore(UID,PID,UseSCore)评价表(评价满分100,60分为及格)
请按产品评价及格率的百分数从高到低排序;
首先分析一下题目以及涉及的问题
接下来我们来建表:
①创建用户表并插入值
CREATE TABLE User(
UID INT UNSIGNED KEY AUTO_INCREMENT,
Uname VARCHAR(20),
Uage INT,
Usex ENUM('男','女','保密')
);
INSERT User (UID,Uname,Uage,Usex) value(1,'aaa',12,'男'),(2,'bbb',13,'女'),(3,'ccc',12,'男'),(4,'ddd',12,'女');
SELECT * FROM User;
②创建产品表并插入值
CREATE TABLE Product(
PID INT UNSIGNED KEY AUTO_INCREMENT,
Pname VARCHAR(20)
);
INSERT Product (PID,Pname) value(1,'A'),(2,'B');
SELECT * FROM Product;
③创建评价表并插入值
CREATE TABLE UseSC(
UID INT UNSIGNED KEY AUTO_INCREMENT,
PID INT UNSIGNED ,
UseSCore INT -- 评价满分为100,60分为及格;
)AUTO_INCREMENT=1;
INSERT UseSC (UID,PID,UseSCore) VALUE (1,1,85),(2,2,80),(3,2,75),(4,1,75);
SELECT * FROM UseSC;
创建完三个基本的表之后,我觉得就该三表连接查询了,
首先用户表和产品表,用户与产品是多对多的关系,一种产品可以提供给多个用户使用,一个用户也可以使用多个产品;
而评价表的字段有用户id,产品id,以及用户评分,所以我觉得在这里评价表应该是主表,用户表和产品表都是从表;