这是前几天一刚毕业的朋友的面试题,算是面试常遇到的sql经典题目,记录一下(如图)
在此我在电脑数据库上建立了对应的表结构及数据,以供检验sql语句正误。
建表语句:
学生表(student_info)
DROP TABLE IF EXISTS `student_info`;
CREATE TABLE `student_info` (
`no` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`age` int(10) NULL DEFAULT NULL,
`dept` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`no`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `student_info` VALUES ('1612101', '李勇', '男', 21, '数学系');
INSERT INTO `student_info` VALUES ('1612102', '刘晨', '男', 23, '数学系');
INSERT INTO `student_info` VALUES ('1612103&#