1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365
| USE school;
SELECT stu_id, stu_name, stu_sex, stu_birth, stu_addr, col_id FROM tb_student;
SELECT stu_id AS 学号, stu_name AS 姓名, stu_addr AS 籍贯 FROM tb_student;
SELECT cou_name AS 课程名称, cou_credit AS 学分 FROM tb_course;
SELECT stu_name, stu_birth FROM tb_student WHERE stu_sex = 0;
SELECT stu_name, stu_birth FROM tb_student WHERE stu_sex = 0 AND stu_addr = '四川成都';
SELECT stu_name, stu_birth FROM tb_student WHERE stu_sex = 0 OR stu_addr = '四川成都';
SELECT stu_name, stu_sex, stu_birth FROM tb_student WHERE '1980-1-1' <= stu_birth AND stu_birth <= '1989-12-31'; SELECT stu_name, stu_sex, stu_birth FROM tb_student WHERE stu_birth BETWEEN '1980-1-1' AND '1989-12-31';
SELECT cou_name, cou_credit FROM tb_course WHERE cou_credit > 2;
SELECT cou_name, cou_credit FROM tb_course WHERE cou_credit MOD 2 <> 0;
SELECT stu_id FROM tb_record WHERE cou_id = 1111 AND score > 90;
SELECT stu_name AS 姓名, CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别 FROM tb_student WHERE stu_name = '杨过'; SELECT stu_name AS 姓名, IF(stu_sex, '男', '女') AS 性别 FROM tb_student WHERE stu_name = '杨过';
SELECT stu_name AS 姓名, CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别 FROM tb_student WHERE stu_name LIKE '杨%';
SELECT stu_name AS 姓名, CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别 FROM tb_student WHERE stu_name LIKE '杨_';
SELECT stu_name AS 姓名, CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别 FROM tb_student WHERE stu_name LIKE '杨__';
SELECT stu_id, stu_name FROM tb_student WHERE stu_id LIKE '%3';
SELECT stu_id, stu_name FROM tb_student WHERE stu_name LIKE '%不%' OR stu_name LIKE '%嫣%'; SELECT stu_id, stu_name FROM tb_student WHERE stu_name LIKE '%不%' UNION SELECT stu_id, stu_name FROM tb_student WHERE stu_name LIKE '%嫣%';
SELECT stu_id, stu_name FROM tb_student WHERE stu_name REGEXP '[林杨][\\u4e00-\\u9fa5]{2}';
SELECT stu_name FROM tb_student WHERE TRIM(stu_addr) = '' OR stu_addr is null;
SELECT stu_name FROM tb_student WHERE TRIM(stu_addr) <> '' AND stu_addr is not null;
SELECT DISTINCT sel_date FROM tb_record;
SELECT DISTINCT stu_addr FROM tb_student WHERE TRIM(stu_addr) <> '' AND stu_addr is not null;
SELECT stu_name, stu_birth FROM tb_student WHERE stu_sex = 1 ORDER BY stu_birth ASC;
SELECT stu_name AS 姓名, FLOOR(DATEDIFF(CURDATE(), stu_birth) / 365) AS 年龄 FROM tb_student WHERE stu_sex = 1 ORDER BY 年龄 DESC;
SELECT MIN(stu_birth) FROM tb_student;
SELECT MAX(stu_birth) FROM tb_student;
SELECT MAX(score) FROM tb_record WHERE cou_id = 1111;
SELECT MIN(score) AS 最低分, MAX(score) AS 最高分, ROUND(AVG(score), 1) AS 平均分, STDDEV(score) AS 标准差, VARIANCE(score) AS 方差 FROM tb_record WHERE stu_id = 1001;
SELECT ROUND(SUM(score) / COUNT(*), 1) AS 平均分 FROM tb_record WHERE stu_id = 1001;
SELECT CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别, COUNT(*) AS 人数 FROM tb_student GROUP BY stu_sex;
SELECT col_id AS 学院编号, COUNT(*) AS 人数 FROM tb_student GROUP BY col_id WITH ROLLUP;
SELECT col_id AS 学院编号, CASE stu_sex WHEN 1 THEN '男' ELSE '女' END AS 性别, COUNT(*) AS 人数 FROM tb_student GROUP BY col_id, stu_sex;
SELECT stu_id AS 学号, ROUND(AVG(score), 1) AS 平均分 FROM tb_record GROUP BY stu_id;
SELECT stu_id AS 学号, ROUND(AVG(score), 1) AS 平均分 FROM tb_record GROUP BY stu_id HAVING 平均分 >= 90;
SELECT stu_id AS 学号, ROUND(AVG(score), 1) AS 平均分 FROM tb_record WHERE cou_id in (1111, 2222, 3333) GROUP BY stu_id HAVING 平均分 >= 90 ORDER BY 平均分 ASC;
SELECT stu_name FROM tb_student WHERE stu_birth = (SELECT MIN(stu_birth) FROM tb_student);
SELECT stu_name FROM tb_student WHERE stu_id in (SELECT stu_id FROM tb_record GROUP BY stu_id HAVING COUNT(*) > 2);
SELECT stu_name, stu_birth, col_name FROM tb_student AS t1, tb_college AS t2 WHERE t1.col_id = t2.col_id; SELECT stu_name, stu_birth, col_name FROM tb_student INNER JOIN tb_college ON tb_student.col_id = tb_college.col_id;
SELECT stu_name, stu_birth, col_name FROM tb_student NATURAL JOIN tb_college; SELECT stu_name, stu_birth, col_name FROM tb_student CROSS JOIN tb_college;
SELECT stu_name, cou_name, score FROM tb_student, tb_course, tb_record WHERE tb_student.stu_id = tb_record.stu_id AND tb_course.cou_id = tb_record.cou_id AND score is not null;
SELECT stu_name, cou_name, score FROM tb_student INNER JOIN tb_record ON tb_student.stu_id = tb_record.stu_id INNER JOIN tb_course ON tb_course.cou_id = tb_record.cou_id WHERE score is not null; SELECT stu_name, cou_name, score FROM tb_student NATURAL JOIN tb_record NATURAL JOIN tb_course WHERE score is not null;
SELECT stu_name, cou_name, score FROM tb_student NATURAL JOIN tb_record NATURAL JOIN tb_course WHERE score is not null ORDER BY cou_id ASC, score DESC LIMIT 5;
SELECT stu_name, cou_name, score FROM tb_student NATURAL JOIN tb_record NATURAL JOIN tb_course WHERE score is not null ORDER BY cou_id ASC, score DESC LIMIT 5 OFFSET 5;
SELECT stu_name, cou_name, score FROM tb_student NATURAL JOIN tb_record NATURAL JOIN tb_course WHERE score is not null ORDER BY cou_id ASC, score DESC LIMIT 10, 5;
SELECT stu_name, avg_score FROM tb_student NATURAL JOIN (SELECT stu_id, ROUND(AVG(score), 1) AS avg_score FROM tb_record GROUP BY stu_id) as tmp;
SELECT stu_name, total FROM tb_student NATURAL JOIN (SELECT stu_id, COUNT(*) AS total FROM tb_record GROUP BY stu_id) as tmp;
SELECT stu_name AS 姓名, COALESCE(total, 0) AS 选课数量 FROM tb_student AS t1 LEFT JOIN (SELECT stu_id, COUNT(*) AS total FROM tb_record GROUP BY stu_id) AS t2 ON t1.stu_id = t2.stu_id;
|