当前位置:   article > 正文

数据库大题_已知数据库中有一张商品表,表中有字段商品编号、商品名称、商品类别、仓库。请写

已知数据库中有一张商品表,表中有字段商品编号、商品名称、商品类别、仓库。请写

有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表apply(id、name、sid、price) 说明:id 供应厂家编号,name 供应厂家名称,sid 商品编号,price 商品价格。 顾客表customers(gid、name、address、balance) 说明:gid 顾客编号,address 地址,balance 余额。 订单表orders(sid、gid、date) 说明:sid 商品编号,gid 顾客编号,date 订单日期。 商品表goods(sid、name、count) 说明:sid 商品编号,name 商品名称,count 商品数量 写出SQL完成如下操作的SQL语句:

1)查询出2008-8-8这一天顾客的订单信息,要求包括顾客姓名、商品名称及订单日期.

2)将商品表中商品编号为'204'的商品名称更改为百事可乐

3)将顾客表上余额不足1000元的,将其订单日期延后10天

4) 删除订单表中商品编号为102的订单记录 5)将商品表中没有顾客订购的商品信息删除

1) SELECT customers.name, goods.name, orders.date

   FROM orders

   INNER JOIN customers ON orders.gid = customers.gid

   INNER JOIN goods ON orders.sid = goods.sid

   WHERE orders.date = '2008-8-8';

   2) UPDATE goods SET NAME = '百事可乐' WHERE sid = '204';

3) UPDATE orders SET DATE = DATE_ADD(DATE, INTERVAL 10 DAY)

   WHERE gid IN (SELECT gid FROM customers WHERE balance < 1000);

4) DELETE FROM orders WHERE sid = '102';

5) DELETE FROM goods WHERE sid NOT IN (SELECT sid FROM orders);10

已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id(自增1), 商品名称, 单位, 单价, 商品状态 2)库存表:库存id(自增1), 商品id, 库存数量  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、在商品表上创建一个触发器(名字自定),当删除商品时自动删除该商品在库存表中的记录。

1、创建以上两个表的SQL语句:

-- 商品表

CREATE TABLE 商品表 (

    商品id INT AUTO_INCREMENT PRIMARY KEY,

    商品名称 VARCHAR(50),

    单位 VARCHAR(20),

    单价 DECIMAL(10,2),

    商品状态 VARCHAR(10)

);

-- 库存表

CREATE TABLE 库存表 (

    库存id INT AUTO_INCREMENT PRIMARY KEY,

    商品id INT,

    库存数量 INT,

    FOREIGN KEY (商品id) REFERENCES 商品表(商品id)

);

2、在商品表上创建一个触发器(名字自定),当删除商品时自动删除该商品在库存表中的记录。

CREATE TRIGGER 删除商品触发器

BEFORE DELETE ON 商品表

FOR EACH ROW

BEGIN

    DELETE FROM 库存表 WHERE 商品id = OLD.商品id;

END;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建视图 V_选课,其中包含这些字段: 选课id, 学号, 姓名, 课程名, 成绩;

 3、查询张三的数据开发技术课程的成绩。

-- 学生表

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY,

    学号 VARCHAR(20),

    姓名 VARCHAR(20),

    专业 VARCHAR(20),

    年级 VARCHAR(20),

    姓名拼音缩写 VARCHAR(20)

);

-- 课程表

CREATE TABLE 课程表 (

    课程id INT PRIMARY KEY,

    课程名称 VARCHAR(20),

    学分 INT

);

-- 选课表

CREATE TABLE 选课表 (

    选课id INT PRIMARY KEY,

    学生id INT,

    课程id INT,

    成绩 INT,

    FOREIGN KEY (学生id) REFERENCES 学生表(学生id),

    FOREIGN KEY (课程id) REFERENCES 课程表(课程id)

);

CREATE VIEW V_选课 AS

SELECT 选课表.选课id, 学生表.学号, 学生表.姓名, 课程表.课程名称, 选课表.成绩

FROM 选课表

INNER JOIN 学生表 ON 选课表.学生id = 学生表.学生id

INNER JOIN 课程表 ON 选课表.课程id = 课程表.课程id;

SELECT 成绩

FROM V_选课

WHERE 姓名 = '张三' AND 课程名称 = '数据开发技术';

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩 系统已建有getstrpy(p_name VARCHAR(100))用户自定义函数。  请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现学生表的插入,姓名拼音缩写需要调用getstrpy函数实现。

1、创建表的SQL语句如下:

-- 学生表

CREATE TABLE student (

    id INT PRIMARY KEY AUTO_INCREMENT,

    student_number VARCHAR(20) NOT NULL,

    NAME VARCHAR(50) NOT NULL,

    major VARCHAR(50) NOT NULL,

    grade VARCHAR(20) NOT NULL,

    name_pinyin VARCHAR(100) NOT NULL

);

-- 课程表

CREATE TABLE course (

    id INT PRIMARY KEY AUTO_INCREMENT,

    NAME VARCHAR(50) NOT NULL,

    credit INT NOT NULL

);

-- 选课表

CREATE TABLE course_selection (

    id INT PRIMARY KEY AUTO_INCREMENT,

    student_id INT NOT NULL,

    course_id INT NOT NULL,

    score INT

);

2、创建存储过程的SQL语句如下:

DELIMITER //

CREATE PROCEDURE insert_student(

    IN p_student_number VARCHAR(20),

    IN p_name VARCHAR(50),

    IN p_major VARCHAR(50),

    IN p_grade VARCHAR(20)

)

BEGIN

    DECLARE p_name_pinyin VARCHAR(100);

    SET p_name_pinyin = getstrpy(p_name);

    INSERT INTO student (student_number, NAME, major, grade, name_pinyin)

    VALUES (p_student_number, p_name, p_major, p_grade, p_name_pinyin);

END //

DELIMITER ;7

已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)自定义函数拼音缩写查询: pysx('中文字符串') 返回 该中文字符串的拼音缩写   请完成如下操作的SQL语句,表名和列名必须和上面的一致:

 1、创建选课管理系统数据库以及学生表的SQL语句;

 2、在学生表上创建一个触发器(名字自定),当新增学生时自动处理姓名拼音缩写。

CREATE DATABASE Xkglxt;

USE Xkglxt;

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY AUTO_INCREMENT,

    学号 VARCHAR(20) NOT NULL,

    姓名 VARCHAR(20) NOT NULL,

    专业 VARCHAR(20) NOT NULL,

    年级 VARCHAR(10) NOT NULL,

    姓名拼音缩写 VARCHAR(50)

);

2、在学生表上创建一个触发器(名字自定),当新增学生时自动处理姓名拼音缩写。

DELIMITER $$

CREATE TRIGGER trg_pinyin AFTER INSERT ON 学生表

FOR EACH ROW

BEGIN

    UPDATE 学生表 SET 姓名拼音缩写 = pysx(NEW.姓名) WHERE 学生id = NEW.学生id;

END$$

DELIMITER ;

其中,pysx为自定义函数,需要提前定义好。

10

已知产品销售数据库cpxs包含如下数据表: 1)产品表:产品编号,产品名称,价格,库存量。 2)销售商表:客户编号,客户名称,地区,负责人,电话。 3)产品销售表:销售日期,产品编号,客户编号,数量,销售额。 写出SQL完成如下操作的SQL语句:

1.写出产品表的建表语句

2.向产品表中插入如下记录: 0001  空调  3000  200 0002  冰箱  2500  300

3.将产品表中每种商品价格打八折后进行显示

4.查找价格在2000到2900之间的产品名称。 5.在产品销售表上创建“冰箱”产品表的视图bxcp

学生答案:

1.产品表的建表语句:

CREATE TABLE 产品表 (

    产品编号 VARCHAR(10) PRIMARY KEY,

    产品名称 VARCHAR(50) NOT NULL,

    价格 DECIMAL(10,2) NOT NULL,

    库存量 INT NOT NULL

);

2.向产品表中插入如下记录:

INSERT INTO 产品表 (产品编号, 产品名称, 价格, 库存量) VALUES

('0001', '空调', 3000, 200),

('0002', '冰箱', 2500, 300);

3.将产品表中每种商品价格打八折后进行显示:

SELECT 产品编号, 产品名称, 价格*0.8 AS 折扣价, 库存量 FROM 产品表;

4.查找价格在2000到2900之间的产品名称:

SELECT 产品名称 FROM 产品表 WHERE 价格 BETWEEN 2000 AND 2900;

5.在产品销售表上创建“冰箱”产品表的视图bxcp:

CREATE VIEW bxcp AS

SELECT * FROM 产品销售表 WHERE 产品编号 = '0002' AND 产品名称 = '冰箱';

10

已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id, 商品名称, 单位, 单价, 商品状态 2)库存表:库存id, 商品id, 库存数量  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

 2、创建一个存储过程(名字自定),实现商品表的的插入,需要判断当前商品名称是否存在。

学生答案:

1、创建以上两个表的SQL语句:

创建商品表:

CREATE TABLE 商品表 (

    商品id INT PRIMARY KEY,

    商品名称 VARCHAR(50) NOT NULL,

    单位 VARCHAR(10) NOT NULL,

    单价 DECIMAL(10,2) NOT NULL,

    商品状态 VARCHAR(10) NOT NULL

);

创建库存表:

CREATE TABLE 库存表 (

    库存id INT PRIMARY KEY,

    商品id INT NOT NULL,

    库存数量 INT NOT NULL,

    FOREIGN KEY (商品id) REFERENCES 商品表(商品id)

);

2、创建一个存储过程(名字自定),实现商品表的的插入,需要判断当前商品名称是否存在。

CREATE PROCEDURE insert_goods (

    IN p_name VARCHAR(50),

    IN p_unit VARCHAR(10),

    IN p_price DECIMAL(10,2),

    IN p_status VARCHAR(10)

)

BEGIN

    DECLARE v_count INT;

    SELECT COUNT(*) INTO v_count FROM 商品表 WHERE 商品名称 = p_name;

    IF v_count > 0 THEN

        SELECT '商品名称已存在' AS result;

    ELSE

        INSERT INTO 商品表 (商品id, 商品名称, 单位, 单价, 商品状态) VALUES ((SELECT MAX(商品id) FROM 商品表) + 1, p_name, p_unit, p_price, p_status);

        SELECT '商品插入成功' AS result;

    END IF;

END;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建一个存储过程(名字自定),实现选课表的插入,需要判断当前课程id和学生id是否存在。

学生答案:

1、创建表的SQL语句如下:

-- 学生表

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY,

    学号 VARCHAR(20) NOT NULL,

    姓名 VARCHAR(20) NOT NULL,

    专业 VARCHAR(20) NOT NULL,

    年级 INT NOT NULL,

    姓名拼音缩写 VARCHAR(20) NOT NULL

);

-- 课程表

CREATE TABLE 课程表 (

    课程id INT PRIMARY KEY,

    课程名称 VARCHAR(50) NOT NULL,

    学分 INT NOT NULL

);

-- 选课表

CREATE TABLE 选课表 (

    选课id INT PRIMARY KEY,

    学生id INT NOT NULL,

    课程id INT NOT NULL,

    成绩 INT,

    FOREIGN KEY (学生id) REFERENCES 学生表(学生id),

    FOREIGN KEY (课程id) REFERENCES 课程表(课程id)

);

2、创建存储过程的SQL语句如下:

CREATE PROCEDURE insert_选课表 (

    IN 学生id_input INT,

    IN 课程id_input INT,

    IN 成绩_input INT

)

BEGIN

    DECLARE 学生id_exist INT;

    DECLARE 课程id_exist INT;

   

    -- 判断学生id是否存在

    SELECT 学生id INTO 学生id_exist FROM 学生表 WHERE 学生id = 学生id_input;

    IF 学生id_exist IS NULL THEN

        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '学生id不存在';

    END IF;

   

    -- 判断课程id是否存在

    SELECT 课程id INTO 课程id_exist FROM 课程表 WHERE 课程id = 课程id_input;

    IF 课程id_exist IS NULL THEN

        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '课程id不存在';

    END IF;

   

    -- 插入选课表

    INSERT INTO 选课表 (学生id, 课程id, 成绩) VALUES (学生id_input, 课程id_input, 成绩_input);

END;

有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表apply(id、name、sid、price) 说明:id 供应厂家编号,name 供应厂家名称,sid 商品编号,price 商品价格。 顾客表customers(gid、name、address、balance) 说明:gid 顾客编号,address 地址,balance 余额。 订单表orders(sid、gid、date) 说明:sid 商品编号,gid 顾客编号,date 订单日期。 商品表goods(sid、name、count) 说明:sid 商品编号,name 商品名称,count 商品数量

 1)从供应表中查询全体供应厂商的基本信息

2)从顾客表中查询地址在"长春"的顾客的顾客编号、顾客姓名及余额.

3)从商品表中查询以"可乐"两个字结尾的商品名称及数量,并按商品数量降序排序

4)从订单表中查询购买商品编号为"101"商品的顾客编号及订单日期.

5)向商品表中追加一条纪录(204,可口可乐,900)

 6)从商品表中查询最多商品数量、最少商品数量及商品总数量的记录信息

学生答案:

1) SELECT id, NAME FROM apply;

2) SELECT gid, NAME, balance FROM customers WHERE address = '长春';

3) SELECT NAME, COUNT FROM goods WHERE NAME LIKE '%可乐' ORDER BY COUNT DESC;

4) SELECT gid, DATE FROM orders WHERE sid = '101';

5) INSERT INTO goods (sid, NAME, COUNT) VALUES (204, '可口可乐', 900);

6) SELECT MAX(COUNT) AS max_count, MIN(COUNT) AS min_count, SUM(COUNT) AS total_count FROM goods;

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现课程表的插入,需要判断当前课程名称的课程是否存在。

学生答案:

1、创建以上三个表的SQL语句:

学生表:

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY,

    学号 VARCHAR(20) NOT NULL,

    姓名 VARCHAR(20) NOT NULL,

    专业 VARCHAR(20) NOT NULL,

    年级 INT NOT NULL,

    姓名拼音缩写 VARCHAR(20) NOT NULL

);

课程表:

CREATE TABLE 课程表 (

    课程id INT PRIMARY KEY,

    课程名称 VARCHAR(50) NOT NULL,

    学分 INT NOT NULL

);

选课表:

CREATE TABLE 选课表 (

    选课id INT PRIMARY KEY,

    学生id INT NOT NULL,

    课程id INT NOT NULL,

    成绩 INT,

    FOREIGN KEY (学生id) REFERENCES 学生表(学生id),

    FOREIGN KEY (课程id) REFERENCES 课程表(课程id)

);

2、创建一个存储过程(名字自定),实现课程表的插入,需要判断当前课程名称的课程是否存在。

CREATE PROCEDURE insert_course(IN course_name VARCHAR(50), IN credit INT)

BEGIN

    DECLARE course_id INT;

    SELECT 课程id INTO course_id FROM 课程表 WHERE 课程名称 = course_name;

    IF course_id IS NULL THEN

        INSERT INTO 课程表 (课程名称, 学分) VALUES (course_name, credit);

    ELSE

        SELECT '该课程已存在!';

    END IF;

END;

已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)自定义函数拼音缩写查询: pysx('中文字符串') 返回 该中文字符串的拼音缩写   请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建选课管理系统数据库以及学生表的SQL语句;

2、在学生表上创建一个触发器(名字自定),当修改学生表的姓名时自动处理姓名拼音缩写

学生答案:

1、创建选课管理系统数据库以及学生表的SQL语句:

CREATE DATABASE Xkglxt;

USE Xkglxt;

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY,

    学号 VARCHAR(20),

    姓名 VARCHAR(20),

    专业 VARCHAR(20),

    年级 VARCHAR(10),

    姓名拼音缩写 VARCHAR(20)

);

2、在学生表上创建一个触发器(名字自定),当修改学生表的姓名时自动处理姓名拼音缩写的SQL语句:

CREATE TRIGGER update_pinyin AFTER UPDATE ON 学生表 FOR EACH ROW

BEGIN

    UPDATE 学生表 SET 姓名拼音缩写 = pysx(NEW.姓名) WHERE 学生id = NEW.学生id;

END;

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、在课程表上创建一个触发器(名字自定)。,当删除课程信息时自动删除该课程的选课信息。:

1、创建表的SQL语句:

-- 学生表

CREATE TABLE 学生表 (

  学生id INT PRIMARY KEY,

  学号 VARCHAR(20) NOT NULL,

  姓名 VARCHAR(20) NOT NULL,

  专业 VARCHAR(20) NOT NULL,

  年级 INT NOT NULL,

  姓名拼音缩写 VARCHAR(20) NOT NULL

);

-- 课程表

CREATE TABLE 课程表 (

  课程id INT PRIMARY KEY,

  课程名称 VARCHAR(50) NOT NULL,

  学分 INT NOT NULL

);

-- 选课表

CREATE TABLE 选课表 (

  选课id INT PRIMARY KEY,

  学生id INT NOT NULL,

  课程id INT NOT NULL,

  成绩 INT,

  FOREIGN KEY (学生id) REFERENCES 学生表(学生id),

  FOREIGN KEY (课程id) REFERENCES 课程表(课程id)

);

2、在课程表上创建一个触发器:

CREATE TRIGGER 删除课程触发器

AFTER DELETE ON 课程表

FOR EACH ROW

BEGIN

  DELETE FROM 选课表 WHERE 课程id = OLD.课程id;

END;

已知进销存数据库Jxcxt包含如下数据表:

1)商品表:商品id(自增1), 商品名称, 单位, 单价, 商品状态

2)库存表:库存id(自增1), 商品id, 库存数量 

请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、在商品表上创建一个触发器(名字自定),当新增商品时自动在库存表中插入该商品的库存信息(库存数量为0)。

学生答案:

1)

1、创建以上两个表的SQL语句:

创建商品表:

CREATE TABLE 商品表 (

    商品id INT AUTO_INCREMENT PRIMARY KEY,

    商品名称 VARCHAR(50),

    单位 VARCHAR(10),

    单价 DECIMAL(10,2),

    商品状态 VARCHAR(10)

);

创建库存表:

CREATE TABLE 库存表 (

    库存id INT AUTO_INCREMENT PRIMARY KEY,

    商品id INT,

    库存数量 INT,

    FOREIGN KEY (商品id) REFERENCES 商品表(商品id)

);

2、在商品表上创建一个触发器(名字自定),当新增商品时自动在库存表中插入该商品的库存信息(库存数量为0)。

CREATE TRIGGER 新增商品触发器

AFTER INSERT ON 商品表

FOR EACH ROW

BEGIN

    INSERT INTO 库存表 (商品id, 库存数量) VALUES (NEW.商品id, 0);

END;

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

 1、创建以上三个表的SQL语句;

2、创建一个存储过程(名字自定),实现学生表的插入,需要判断当前学号的学生是否存在。

1、创建以上三个表的SQL语句:

学生表:

CREATE TABLE 学生表 (

    学生id INT PRIMARY KEY,

    学号 VARCHAR(20) UNIQUE,

    姓名 VARCHAR(20),

    专业 VARCHAR(20),

    年级 INT,

    姓名拼音缩写 VARCHAR(20)

);

课程表:

CREATE TABLE 课程表 (

    课程id INT PRIMARY KEY,

    课程名称 VARCHAR(20),

    学分 INT

);

选课表:

CREATE TABLE 选课表 (

    选课id INT PRIMARY KEY,

    学生id INT,

    课程id INT,

    成绩 INT,

    FOREIGN KEY (学生id) REFERENCES 学生表(学生id),

    FOREIGN KEY (课程id) REFERENCES 课程表(课程id)

);

2、创建一个存储过程(名字自定),实现学生表的插入,需要判断当前学号的学生是否存在。

CREATE PROCEDURE insert_student(

    IN in_学号 VARCHAR(20),

    IN in_姓名 VARCHAR(20),

    IN in_专业 VARCHAR(20),

    IN in_年级 INT,

    IN in_姓名拼音缩写 VARCHAR(20)

)

BEGIN

    DECLARE student_count INT;

    SELECT COUNT(*) INTO student_count FROM 学生表 WHERE 学号 = in_学号;

    IF student_count > 0 THEN

        SELECT '该学号已存在' AS result;

    ELSE

        INSERT INTO 学生表 (学号, 姓名, 专业, 年级, 姓名拼音缩写) VALUES (in_学号, in_姓名, in_专业, in_年级, in_姓名拼音缩写);

        SELECT '插入成功' AS result;

    END IF;

END;

四、计算题

1、按照要求,完成以下操作。

(1)、建立一个通信录数据库,要求需要有以下三个表:

lxrenb(联系人表)其字段为(联系人编号、姓名、联系电话、家庭地址),

thjlb(通话记录表)其字段为(通话记录编号、联系人编号、通话开始时间、通知结束时间、通话类别、通话状态),

dxjlb(短信记录表)其字段为(短信记录编号、联系人编号、接发时间、短信内容、短信类别)。

请在SQL SERVER 下建立这个数据库,数据库名为:TXLSJK。字段名以及字段数据类型可自拟。

(2)、在联系人表中插入以下5条记录:

(1,朱红敏,15857455696,河南洛阳市中学路1号)

(2,张丽花,18953991767,河南洛阳市武汉路2号)

(3,梁宝莉,13752317719,河南洛阳市大学路3号)

(4,王君志,13057676112,河南洛阳市大学路4号)

(5,李保江,13752309239,河南洛阳市大学路5号)

(3)、在短信记录表中插入以下一条记录

(1,1,当前系统时间,你的书已到请速来领取,1)

(4)、更新联系人编号为4的联系人电话为13938801001

(5)、依据联系人表和通话记录表建立视图:v_lxren_thjlb(联系人编号、姓名、通话类别、通话状态)

(1)建立数据库TXLSJK:

CREATE DATABASE TXLSJK;

(2)创建联系人表lxrenb:

CREATE TABLE lxrenb (

    lxrenbh INT PRIMARY KEY,

    xm VARCHAR(20),

    lxdh VARCHAR(20),

    jtdz VARCHAR(50)

);

(3)创建通话记录表thjlb:

CREATE TABLE thjlb (

    thjlbh INT PRIMARY KEY,

    lxrenbh INT,

    thksj DATETIME,

    thjsj DATETIME,

    thlb VARCHAR(10),

    thzt VARCHAR(10)

);

(4)创建短信记录表dxjlb:

CREATE TABLE dxjlb (

    dxjlbh INT PRIMARY KEY,

    lxrenbh INT,

    jfsj DATETIME,

    dxnr VARCHAR(100),

    dxlb VARCHAR(10)

);

(5)在联系人表中插入5条记录:

INSERT INTO lxrenb VALUES (1, '朱红敏', '15857455696', '河南洛阳市中学路1号');

INSERT INTO lxrenb VALUES (2, '张丽花', '18953991767', '河南洛阳市武汉路2号');

INSERT INTO lxrenb VALUES (3, '梁宝莉', '13752317719', '河南洛阳市大学路3号');

INSERT INTO lxrenb VALUES (4, '王君志', '13057676112', '河南洛阳市大学路4号');

INSERT INTO lxrenb VALUES (5, '李保江', '13752309239', '河南洛阳市大学路5号');

(6)在短信记录表中插入1条记录:

INSERT INTO dxjlb VALUES (1, 1, GETDATE(), '你的书已到请速来领取', 1);

(7)更新联系人编号为4的联系人电话为13938801001:

UPDATE lxrenb SET lxdh = '13938801001' WHERE lxrenbh = 4;

(8)创建视图v_lxren_thjlb:

CREATE VIEW v_lxren_thjlb AS

SELECT lxrenb.lxrenbh, lxrenb.xm, thjlb.thlb, thjlb.thzt

FROM lxrenb

INNER JOIN thjlb ON lxrenb.lxrenbh = thjlb.lxrenbh;

2、学生选课系统,主要表有:学生基本信息表steudents(学号sid、姓名sname、性别ssex、专业spro、出生年月sbirthday等),选课表courses_selection(学号sid、课程号cid、分数score),课程表courses(课程号cid、课程名cname、所属专业professional、学分credits)要求:

写出SQL语句。

1) 查询所有选SQL课程的学生学号,姓名和专业。

2) 删除所有选择数学的同学的选课记录。

3) 查询有哪些课程没有被任何同学报选。

1) SELECT students.sid, students.sname, students.spro

   FROM students

   INNER JOIN courses_selection ON students.sid = courses_selection.sid

   INNER JOIN courses ON courses_selection.cid = courses.cid

   WHERE courses.cname = 'SQL';

2) DELETE FROM courses_selection

   WHERE cid IN (SELECT cid FROM courses WHERE cname = '数学');

3) SELECT courses.cid, courses.cname, courses.professional, courses.credits

   FROM courses

   LEFT JOIN courses_selection ON courses.cid = courses_selection.cid

   WHERE courses_selection.cid IS NULL;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/779004
推荐阅读
相关标签
  

闽ICP备14008679号