mysql做题笔记

x33g5p2x  于2021-11-22 转载在 Mysql  
字(2.2k)|赞(0)|评价(0)|浏览(1431)

持续学习,持续更新

1.添加一条学生记录

本题目要求编写 Insert语句, 在stu表中添加一条学生记录:学号:S012,姓名:,周强,性别:1,其它属性为NULL.

表结构:

  1. CREATE TABLE `stu` (
  2. `sno` char(4) NOT NULL,
  3. `sname` char(8) NOT NULL,
  4. `sex` tinyint(1) DEFAULT NULL,
  5. `mno` char(2) DEFAULT NULL,
  6. `birdate` datetime DEFAULT NULL,
  7. `memo` text,
  8. PRIMARY KEY (`sno`)
  9. );

表样例(stu表):


输出样例(stu表):

题解:

  1. INSERT INTO stu (sno,sname,sex) VALUES ('S012','周强',1);

2.查询课程成绩最高二人

本题目要求编写SQL语句, 检索C002号课程的成绩最高的二人学号,姓名与成绩

表结构:

  1. CREATE TABLE `stu` (
  2. `sno` char(4) NOT NULL,
  3. `sname` char(8) NOT NULL,
  4. `sex` tinyint(1) DEFAULT NULL,
  5. `mno` char(2) DEFAULT NULL,
  6. `birdate` datetime DEFAULT NULL,
  7. `memo` text,
  8. PRIMARY KEY (`sno`),
  9. );
  10. CREATE TABLE `sc` (
  11. `sno` char(4) NOT NULL,
  12. `cno` char(4) NOT NULL,
  13. `grade` decimal(6,1) DEFAULT NULL,
  14. PRIMARY KEY (`sno`,`cno`),
  15. CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
  16. );

表样例(stu表和sc表):

输出样例:

题解:

  1. SELECT stu.sno,stu.sname,sc.grade
  2. FROM stu LEFT JOIN sc
  3. ON stu.sno=sc.sno
  4. WHERE sc.cno='C002'
  5. ORDER BY sc.grade
  6. DESC LIMIT 2;

3.删除学生所有信息

本题目要求编写DELETE语句, 删除学生姓名为’周强’的所有数据信息。

表结构:

  1. CREATE TABLE `stu` (
  2. `sno` char(4) NOT NULL,
  3. `sname` char(8) NOT NULL,
  4. `sex` tinyint(1) DEFAULT NULL,
  5. `mno` char(2) DEFAULT NULL,
  6. `birdate` datetime DEFAULT NULL,
  7. `memo` text,
  8. PRIMARY KEY (`sno`)
  9. );
  10. CREATE TABLE `sc` (
  11. `sno` char(4) NOT NULL,
  12. `cno` char(4) NOT NULL,
  13. `grade` decimal(6,1) DEFAULT NULL,
  14. PRIMARY KEY (`sno`,`cno`),
  15. CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
  16. );

表样例(stu表和sc表):

输出样例:

题解:

  1. DELETE t1,t2
  2. FROM stu AS t1 LEFT JOIN sc AS t2
  3. ON t1.sno = t2.sno
  4. WHERE t1.sname = '周强';

4. 升序排列

在员工表中查询所有男性员工的编号,姓名和入职日期,结果按员工编号升序排列

表结构:

  1. create table 员工(员工编号 char(3) primary key,姓名 char(5),性别 char(1),出生日期 date,入职日期 date,电话 char(11))

表样例:

输出样例:

题解:

  1. SELECT 员工编号,姓名,入职日期
  2. FROM 员工
  3. WHERE 性别='男'
  4. ORDER BY 员工编号 ASC;

5.条件查询

本题目要求编写SQL语句, 检索出students表中所有年龄小于等于25岁的女生的学号和姓名的记录。

表结构:

  1. CREATE TABLE students (
  2. sno char(7) ,
  3. sname char(8) NOT NULL,
  4. class char(10),
  5. ssex char(2),
  6. bday date ,
  7. bplace char(10) ,
  8. IDNum char(18) ,
  9. sdept char(16),
  10. phone char(11),
  11. PRIMARY KEY (sno)
  12. ) ;

表样例:


输出样例:

题解:

  1. select sno as "学号",sname as "姓名",ssex as "性别"
  2. from students
  3. where ROUND(DATEDIFF(CURDATE(), bday)/365.2422) <=25
  4. and
  5. ssex="女";

查询

本题目要求编写SQL语句, 检索出course表中“0000010”课程的课名、先修课号和学分记录。
提示:请使用SELECT语句作答。

表结构:

  1. CREATE TABLE course (
  2. cno char(7) ,
  3. cname varchar(20) NOT NULL,
  4. cpno char(7),
  5. ccredit int NOT NULL,
  6. PRIMARY KEY (cno)
  7. ) ;

表样例:

输出样例:

题解:

  1. select cname,cpno,ccredit from course where cno = '0000010';

相关文章

最新文章

更多