• 数据库试题


    1、  有三张表:

    (图书信息表)Books: BNO(图书编号), RNO(借书单号),  Bname(图书名), author(作者), price(单价)   

    (借记卡表) cards:CNO(卡号),name(姓名) ,CLASS(班号)

    (借书记录表) Brrows:  RNo(清单号),CNO, RDate(借书日期),(Remark)备注

    1)     用SQL语句创建 借书记录表 :

    2)     查询借了“水浒”一书的学生姓名 和班号,

    3)     查询价格最高的书名和作者;

    2、表销售统计表有三个字段(years年份、seasons季节、amount数量)

    用一条SQL语句写,得出如下结果:

    3、甲、乙、丙三人在玩牌,一共玩了一百盘,各盘的成绩都保存在Score表中。请用SQL语句查出三人各自的最高分在哪一局,输出局号和最高成绩。

    字段名

    属性

    备注

    ID

    Int(自增)

    局号

    OptionA

    Int

    甲的成绩

    OptionB

    Int

    乙的成绩

    OptionC

    Int

    丙的成绩

    4、编写SQL语句

    1. 创建一个学生表,包括:学号,姓名,年龄,性别,联系电话,家庭地址
    2. 修改数据表结构,添加一个信息,添加一个列:学历
    3. 修改数据表结构,删除一个信息,删除家庭地址列
    4. 插入以下数据记录

      学号 姓名 年龄 性别 联系电话 学历

       1    A    21   男   123456   本科

       2    B    20   男    110     本科

       3    C    22   男    119     大专

                        4    D    19   女    456     本科

    1. 修改联系电话以11开头的所有学生学历
    2. 删除姓名以C开头的学生信息
    3. 查询性别为男而且学历为大专的学生姓名与年龄
    4. 查询姓名,性别,年龄按降序排序
    5. 查询平均年龄并按性别分组

     代码

    1. /*---1---*/
    2. DROP DATABASE IF EXISTS Test;
    3. CREATE DATABASE Test;
    4. USE Test;
    5. CREATE TABLE Books(
    6. BNo INT PRIMARY KEY,
    7. RNo VARCHAR(50) UNIQUE,
    8. BName VARCHAR(50),
    9. Author VARCHAR(50),
    10. Price DECIMAL(5,2)
    11. );
    12. CREATE TABLE Cards(
    13. CNo VARCHAR(50) PRIMARY KEY,
    14. NAME VARCHAR(50),
    15. Class VARCHAR(50)
    16. );
    17. #(1)
    18. CREATE TABLE Brrows(
    19. RNo VARCHAR(50),
    20. CNo VARCHAR(50),
    21. RDate DATE,
    22. Remark VARCHAR(255)
    23. );
    24. ALTER TABLE Brrows ADD CONSTRAINT fk_Brrows_Books FOREIGN KEY(RNo) REFERENCES Books(RNo);
    25. ALTER TABLE Brrows ADD CONSTRAINT fk_Brrows_Cards FOREIGN KEY(CNo) REFERENCES Cards(CNo);
    26. #(2)方法一
    27. SELECT Cards.Name,Cards.Class FROM Brrows
    28. INNER JOIN Books ON Brrows.RNo=Books.RNo
    29. INNER JOIN Cards ON Brrows.CNo=Cards.CNo
    30. WHERE Books.BName='水浒';
    31. #(2)方法二
    32. SELECT Cards.Name,Cards.Class FROM Cards
    33. INNER JOIN Brrows ON Cards.CNo=Brrows.CNo
    34. WHERE Brrows.RNo =(
    35. SELECT Books.RNo FROM Books WHERE Books.BName='水浒'
    36. );
    37. SELECT BName,Author FROM Books WHERE Price =(
    38. SELECT MAX(Books.Price) FROM Books
    39. );
    40. /*---2---*/
    41. CREATE TABLE Sales(
    42. years INT,
    43. seasons INT,
    44. amount DECIMAL(5,2)
    45. );
    46. INSERT INTO Sales VALUES(2001,1,1.1);
    47. INSERT INTO Sales VALUES(2001,2,1.2);
    48. INSERT INTO Sales VALUES(2001,3,1.3);
    49. INSERT INTO Sales VALUES(2001,4,1.4);
    50. INSERT INTO Sales VALUES(2002,1,1.1);
    51. INSERT INTO Sales VALUES(2002,2,1.2);
    52. INSERT INTO Sales VALUES(2002,3,1.3);
    53. INSERT INTO Sales VALUES(2002,4,1.4);
    54. SELECT * FROM Sales;
    55. SELECT years,
    56. SUM(CASE seasons WHEN 1 THEN amount END) 季度1,
    57. SUM(CASE seasons WHEN 2 THEN amount END) 季度2,
    58. SUM(CASE seasons WHEN 3 THEN amount END) 季度3,
    59. SUM(CASE seasons WHEN 4 THEN amount END) 季度4
    60. FROM sales GROUP BY years;
    61. /*---3---*/
    62. CREATE TABLE Test(
    63. Id INT,
    64. OptionA INT,
    65. OptionB INT,
    66. OptionC INT
    67. );
    68. INSERT INTO Test VALUES(1,70,73,76);
    69. INSERT INTO Test VALUES(2,90,93,96);
    70. INSERT INTO Test VALUES(3,80,83,86);
    71. SELECT Id,OptionA FROM Test WHERE OptionA=(SELECT MAX(OptionA) FROM Test)
    72. UNION
    73. SELECT Id,OptionB FROM Test WHERE OptionB=(SELECT MAX(OptionB) FROM Test)
    74. UNION
    75. SELECT Id,OptionC FROM Test WHERE OptionC=(SELECT MAX(OptionC) FROM Test);
    76. /*---4---*/
    77. #(1)
    78. CREATE TABLE Student(
    79. Nr INT PRIMARY KEY,
    80. NAME VARCHAR(50),
    81. Age INT,
    82. Sex VARCHAR(2),
    83. Phone VARCHAR(11),
    84. Address VARCHAR(50)
    85. );
    86. #(2)
    87. ALTER TABLE Student ADD Education VARCHAR(50);
    88. #(3)
    89. ALTER TABLE Student DROP COLUMN Address;
    90. #(4)
    91. INSERT INTO Student VALUES(1,'A',21,'男','123456','本科');
    92. INSERT INTO Student VALUES(2,'B',20,'男','110','本科');
    93. INSERT INTO Student VALUES(3,'C',22,'男','119','大专');
    94. INSERT INTO Student VALUES(4,'D',19,'女','456','本科');
    95. #(5)
    96. SELECT Education FROM Student WHERE Phone LIKE '11%';
    97. #(6)
    98. DELETE FROM Student WHERE NAME LIKE 'C%';
    99. #(7)
    100. SELECT NAME,Age FROM Student WHERE Sex='男' AND Education='大专';
    101. #(8)
    102. SELECT NAME, Sex, Age FROM Student ORDER BY Age DESC;
    103. #(9)
    104. SELECT Sex, AVG(Age) FROM Student GROUP BY Sex

  • 相关阅读:
    springMvc51-json数据类型提交
    解决:yarn 无法加载文件 “C:\Users\XXXXX\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本“ 的问题
    高性能 低功耗Cortex-A53核心板 | i.MX8M Mini
    2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛—— C 题:竞赛论文的辅助自动评阅完整思路与源代码分享
    【VIO】第1讲 IMU 传感器
    vue内置组件keep-alive的使用
    二本院校毕业一年的工作经历(Java开发)
    【漏洞复现】Viessmann Vitogate远程代码执行(CVE-2023-45852)
    PMI-ACP敏捷项目管理证书报考指南!纯干货!
    快速排序 — — 递归、非递归实现【十大经典排序算法】
  • 原文地址:https://blog.csdn.net/qq_55917018/article/details/127774668