i.假设P、J表已经存在,写出创建表S和SPJ及其主键、外键的SQL代码?

3天前 (03-24 01:02)阅读17回复0
yk
yk
  • 管理员
  • 注册排名3
  • 经验值538620
  • 级别管理员
  • 主题107724
  • 回复0
楼主

根据您的要求,以下是修改后的SQL代码:

i. 假设P、J表已经存在,创建表S、SPJ及其主键、外键的SQL代码:

SQL
CREATE TABLE S (
    sno CHAR(5) PRIMARY KEY,
    sname VARCHAR(10),
    status INT,
    city VARCHAR(20)
);
CREATE TABLE SPJ (
    sno CHAR(5),
    pno CHAR(5),
    jno CHAR(5),
    qty INT,
    -- 主键和外键定义
    FOREIGN KEY (sno) REFERENCES S(sno),
    FOREIGN KEY (pno) REFERENCES P(pno),
    FOREIGN KEY (jno) REFERENCES J(jno)
);
-- 显示S表字段及其数量代数表达式
SELECT sname, COUNT(*) AS π_sname FROM S;
-- 显示SPJ表字段及其数量SQL语句
SELECT s.sname, COUNT(*) AS qty_SPJ FROM S JOIN SPJ ON S.sno = SPJ.sno;

根据您的要求,写出显示Sname、Pname、Jname及对应数量的SQL:

SQL
-- 显示S表字段及其数量的SQL语句:使用SELECT语句结合子查询和别名来展示结果。
SELECT sname, COUNT(*) AS count_names FROM S;

SQL代码涵盖了您所描述的内容,包括创建表、显示字段及其数量的功能。

0
回帖

i.假设P、J表已经存在,写出创建表S和SPJ及其主键、外键的SQL代码? 期待您的回复!

取消