随笔分类 -  数据库sql

摘要:创建表: 1、显示所有职工的基本信息。 SELECT * FROM `employees`; 2、查询所有职工所属部门的部门号,不显示重复的部门号。 SELECT DISTINCT deptID FROM employees 3、求出所有职工的人数. SELECT COUNT(*) FROM emp 阅读全文
posted @ 2019-09-26 16:33 初学者,方圆几里 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:不用数据库连接池的写法: 使用 PooledDB 连接参数定义: 1. mincached,最少的空闲连接数,如果空闲连接数小于这个数,pool会创建一个新的连接2. maxcached,最大的空闲连接数,如果空闲连接数大于这个数,pool会关闭空闲连接3. maxconnections,最大的连接 阅读全文
posted @ 2019-08-21 16:35 初学者,方圆几里 阅读(2846) 评论(0) 推荐(0) 编辑
摘要:1、CAST CAST:格式转换函数 用法:CAST (expression AS data_type) expression:任何有效的SQServer表达式。 AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。 data_type:目标系统所提供的数据类型,包括b 阅读全文
posted @ 2019-08-21 15:22 初学者,方圆几里 阅读(288) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-08-21 14:46 初学者,方圆几里 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-08-21 14:35 初学者,方圆几里 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-08-21 14:16 初学者,方圆几里 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题目41 :按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一(就是根据出生日期算,每个人的年龄) 分析:要引入时间差函数TIMESTAMPDIFF , 时间差函数TIMESTAMPDIFF 的用法: TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟 阅读全文
posted @ 2019-08-19 17:50 初学者,方圆几里 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:题目38:检索至少选修两门课程的学生学号 SELECT studentid ,COUNT(courseid) AS a FROM student_score GROUP BY studentid HAVING a >=2 题目39:查询选修了全部课程的学生信息 GROUP BY studentid 阅读全文
posted @ 2019-08-19 17:08 初学者,方圆几里 阅读(10609) 评论(0) 推荐(0) 编辑
摘要:题目36:查询每门功成绩最好的前两名 分析:先用自己交自己,条件为a.courseid = b.courseid and a.score<b.score,其实就是列出同一门课内所有分数比较的情况。 通过a.studentid和a.courseid可以联合确定这个同学的这门课的这个分数究竟比多少个其他 阅读全文
posted @ 2019-08-19 17:03 初学者,方圆几里 阅读(10827) 评论(3) 推荐(1) 编辑
摘要:题目34:成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 分析:上一题 33 是在成绩不重复的情况下 查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 这两题有什么区别? 有区别! 33 题成绩不重复,得到的结果就是唯一的,可以直接limit 1 阅读全文
posted @ 2019-08-19 16:18 初学者,方圆几里 阅读(4302) 评论(0) 推荐(0) 编辑
摘要:题目32:求每门课程的学生人数 分析: 这个直接是group by 然后 count SELECT courseid, COUNT(studentid) FROM student_score GROUP BY courseid 题目33:查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成 阅读全文
posted @ 2019-08-19 15:16 初学者,方圆几里 阅读(3567) 评论(0) 推荐(0) 编辑
摘要:题目30:查询存在不及格的课程 分析:直接 查询 student_score score<60 得到courseid 这样的话 courseid会有很多重复的,要用到distinct 关键字、 SELECT DISTINCT student_course.coursename FROM studen 阅读全文
posted @ 2019-08-19 14:51 初学者,方圆几里 阅读(2980) 评论(0) 推荐(0) 编辑
摘要:题目:查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况) 分析: 这个应该是student表 和 student_score表进行联合查询,因为存在学生没成绩,没选课的情况,所以要用left join SELECT student.*,student_score.courseid ,stu 阅读全文
posted @ 2019-08-19 14:14 初学者,方圆几里 阅读(5145) 评论(0) 推荐(0) 编辑
摘要:题目:26:查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩 分析:这个应该是根据student 进行分组 group by 再根据 having >= 85 进行过滤,然后在关联student 信息表,拿到学生的基本信息 SELECT student.id, student.stden 阅读全文
posted @ 2019-08-19 11:58 初学者,方圆几里 阅读(9625) 评论(0) 推荐(0) 编辑
摘要:题目:查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列 刚开始写的sql 比较简单: SELECT courseid, AVG(score) as a FROM student_score GROUP BY courseid ORDER BY a DESC, cou 阅读全文
posted @ 2019-08-19 11:46 初学者,方圆几里 阅读(18386) 评论(0) 推荐(0) 编辑
摘要:题目23:查询同名学生名单,并统计同名人数 找到同名的名字并统计个数 一开始这个sql 写不出来,看了答案后好简单,也更加加深了我多count 的用法 SELECT stdentname,COUNT(*) FROM student GROUP BY stdentname HAVING COUNT(* 阅读全文
posted @ 2019-08-16 18:01 初学者,方圆几里 阅读(3574) 评论(0) 推荐(0) 编辑
摘要:题目21:查询男生、女生人数 这个题目我写出的sql 还是比较原始的,查询了3次,这样的话性能会比较差 SELECT c.a,d.b FROM (SELECT COUNT(*) AS a FROM student WHERE sex like '女')c, (SELECT COUNT(*) AS b 阅读全文
posted @ 2019-08-16 17:22 初学者,方圆几里 阅读(3955) 评论(0) 推荐(0) 编辑
摘要:题目 19:查询每门课程被选修的学生数 SELECT courseid,COUNT(studentid) FROM student_score GROUP BY courseid; 运行: 练习题20 :查询出只选修两门课程的学生学号和姓名 SELECT student.*, r.a FROM st 阅读全文
posted @ 2019-08-16 17:11 初学者,方圆几里 阅读(10520) 评论(0) 推荐(0) 编辑
摘要:题目:查询学生的总成绩,并进行排名,总分重复时不保留名次空缺 分析:查询学生的总成绩 并进行排序 写这个sql 简单,直接按照学生student分组 然后sum(成绩 score) SELECT studentid,SUM(score) AS a FROM student_score GROUP B 阅读全文
posted @ 2019-08-16 14:42 初学者,方圆几里 阅读(11344) 评论(0) 推荐(1) 编辑
摘要:题目:按各科成绩进行排序,并显示排名 分析:这题目我自己不会做,看答案的 ,哈哈哈哈 sql: SELECT a.courseid,a.studentid,a.score,COUNT(b.score)+1 AS rank FROM student_score a LEFT JOIN student_ 阅读全文
posted @ 2019-08-16 11:05 初学者,方圆几里 阅读(6920) 评论(0) 推荐(1) 编辑