Data Query LANGUAGE:数据查询语言

    所有的查询操作都用它 Select
    简单的查询,复杂的查询它都能做
    数据库中最核心的语言
    使用频率最高的语句

    SELECT [ALL | DISTINCT]
    { | table. | [table.field1[as alias1][,table.field2[as alias2]][,…]]}
    FROM table_name [as table_alias]
    [left | right | inner join table_name2] — 联合查询
    [WHERE …] — 指定结果需满足的条件
    [GROUP BY …] — 指定结果按照哪几个字段来分组
    [HAVING] — 过滤分组的记录必须满足的次要条件
    [ORDER BY …] — 指定查询记录按一个或多个条件排序
    [LIMIT {[offset,]row_count | row_countOFFSET offset}];
    — 指定查询的记录从哪条至哪条
    注意 : [ ] 括号代表可选的 , { }括号代表必选得

    1. -- p16用到的数据表
    2. /*
    3. SQLyog Ultimate v13.1.1 (64 bit)
    4. MySQL - 5.7.33 : Database - school
    5. *********************************************************************
    6. */
    7. /*!40101 SET NAMES utf8 */;
    8. /*!40101 SET SQL_MODE=''*/;
    9. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    10. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    11. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    12. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    13. CREATE DATABASE /*!32312 IF NOT EXISTS*/`school` /*!40100 DEFAULT CHARACTER SET utf8 */;
    14. USE `school`;
    15. /*Table structure for table `grade` */
    16. DROP TABLE IF EXISTS `grade`;
    17. CREATE TABLE `grade` (
    18. `GradeID` int(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号',
    19. `GradeName` varchar(50) NOT NULL COMMENT '年级名称',
    20. PRIMARY KEY (`GradeID`)
    21. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    22. /*Data for the table `grade` */
    23. insert into `grade`(`GradeID`,`GradeName`) values
    24. (1,'大一'),
    25. (2,'大二'),
    26. (3,'大三'),
    27. (4,'大四'),
    28. (5,'预科班');
    29. /*Table structure for table `result` */
    30. DROP TABLE IF EXISTS `result`;
    31. CREATE TABLE `result` (
    32. `StudentNo` int(4) NOT NULL COMMENT '学号',
    33. `SubjectNo` int(4) NOT NULL COMMENT '课程编号',
    34. `ExamDate` datetime NOT NULL COMMENT '考试日期',
    35. `StudentResult` int(4) NOT NULL COMMENT '考试成绩',
    36. KEY `SubjectNo` (`SubjectNo`)
    37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    38. /*Data for the table `result` */
    39. insert into `result`(`StudentNo`,`SubjectNo`,`ExamDate`,`StudentResult`) values
    40. (1000,1,'2013-11-11 16:00:00',85),
    41. (1000,2,'2013-11-12 16:00:00',70),
    42. (1000,3,'2013-11-11 09:00:00',68),
    43. (1000,4,'2013-11-13 16:00:00',98),
    44. (1000,5,'2013-11-14 16:00:00',58);
    45. /*Table structure for table `student` */
    46. DROP TABLE IF EXISTS `student`;
    47. CREATE TABLE `student` (
    48. `StudentNo` int(4) NOT NULL COMMENT '学号',
    49. `LoginPwd` varchar(20) DEFAULT NULL,
    50. `StudentName` varchar(20) DEFAULT NULL COMMENT '学生姓名',
    51. `Sex` tinyint(1) DEFAULT NULL COMMENT '性别,0或1',
    52. `GradeId` int(11) DEFAULT NULL COMMENT '年级编号',
    53. `Phone` varchar(50) NOT NULL COMMENT '联系电话,允许为空',
    54. `Address` varchar(255) NOT NULL COMMENT '地址,允许为空',
    55. `BornDate` datetime DEFAULT NULL COMMENT '出生时间',
    56. `Email` varchar(50) NOT NULL COMMENT '邮箱账号允许为空',
    57. `IdentityCard` varchar(18) DEFAULT NULL COMMENT '身份证号',
    58. PRIMARY KEY (`StudentNo`),
    59. UNIQUE KEY `IdentityCard` (`IdentityCard`),
    60. KEY `Email` (`Email`)
    61. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    62. /*Data for the table `student` */
    63. insert into `student`(`StudentNo`,`LoginPwd`,`StudentName`,`Sex`,`GradeId`,`Phone`,`Address`,`BornDate`,`Email`,`IdentityCard`) values
    64. (1000,'123456','张伟',0,2,'13800001234','北京朝阳','1980-01-01 00:00:00','text123@qq.com','123456198001011234'),
    65. (1001,'123456','赵强',1,3,'13800002222','广东深圳','1990-01-01 00:00:00','text111@qq.com','123456199001011233');
    66. /*Table structure for table `subject` */
    67. DROP TABLE IF EXISTS `subject`;
    68. CREATE TABLE `subject` (
    69. `SubjectNo` int(11) NOT NULL AUTO_INCREMENT COMMENT '课程编号',
    70. `SubjectName` varchar(50) DEFAULT NULL COMMENT '课程名称',
    71. `ClassHour` int(4) DEFAULT NULL COMMENT '学时',
    72. `GradeID` int(4) DEFAULT NULL COMMENT '年级编号',
    73. PRIMARY KEY (`SubjectNo`)
    74. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    75. /*Data for the table `subject` */
    76. insert into `subject`(`SubjectNo`,`SubjectName`,`ClassHour`,`GradeID`) values
    77. (1,'高等数学-1',110,1),
    78. (2,'高等数学-2',110,2),
    79. (3,'高等数学-3',100,3),
    80. (4,'高等数学-4',130,4),
    81. (5,'C语言-1',110,1),
    82. (6,'C语言-2',110,2),
    83. (7,'C语言-3',100,3),
    84. (8,'C语言-4',130,4),
    85. (9,'Java程序设计-1',110,1),
    86. (10,'Java程序设计-2',110,2),
    87. (11,'Java程序设计-3',100,3),
    88. (12,'Java程序设计-4',130,4),
    89. (13,'数据库结构-1',110,1),
    90. (14,'数据库结构-2',110,2),
    91. (15,'数据库结构-3',100,3),
    92. (16,'数据库结构-4',130,4),
    93. (17,'C#基础',130,1);
    94. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    95. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    96. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    97. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;