博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql02
阅读量:6292 次
发布时间:2019-06-22

本文共 2430 字,大约阅读时间需要 8 分钟。

连接查询
-- 查询课程名称 和年级的名称-- 非等值连接查询SELECT subjectname,gradeName FROM `subject`,grade-- 等值连接查询SELECT subjectname,gradeName FROM `subject`,gradeWHERE subject.gradeId=grade.`GradeID`-- 外连接  左外连接   以左表为准,右表中没有数据 返回null-- 查询课程名称,课时数还有年级名称SELECT subjectname,gradeName,classHourFROM `subject` s LEFT JOIN grade gON s.gradeId=g.`GradeID`-- 外连接  右外连接   以右表为准,左表中没有数据 返回nullSELECT subjectname,gradeName,classHourFROM `subject` s RIGHT JOIN grade gON s.gradeId=g.`GradeID`--  自身连接查询CREATE TABLE IF NOT EXISTS teacher(id INT(10),  -- 老师自身的编号`name`  VARCHAR(20), pid  INT(10)   --  老师对应的导师编号) -- 新增教师信息INSERT INTO teacher  VALUES(1,'老师1',5),(2,'老师2',5),(3,'老师3',5),(4,'老师4',3),(5,'老师5',3)-- 查询老师  和对应导师的姓名SELECT t1.`name` AS '老师姓名', t2.`name` AS '导师姓名'  FROM teacher t1,teacher t2WHERE t2.id=t1.pid

order by

-- 查询 课程名称是  数据库结构-1 的所有考试成绩和学生的姓名  并且按照成绩降序进行查看--  order by 排序  默认是升序 asc  desc 降序  SELECT subjectName,StudentResult,studentNameFROM `subject`,result,studentWHEREstudent.`StudentNo`=result.`StudentNo`AND result.`SubjectNo`=subject.`SubjectNo`ANDsubjectName='数据库结构-1'ORDER BY StudentResult  DESC
limit
-- 查询 课程名称是  数据库结构-1 的所有考试成绩和学生的姓名  并且按照成绩降序进行查看--  order by 排序  默认是升序 asc  desc 降序  --  分页  使用 limit  begin,pageSize --  begin 从那一条数据开始    (当前页码-1)*pageSize--  pageSize  每页显示的数量SELECT subjectName,StudentResult,studentNameFROM `subject`,result,studentWHEREstudent.`StudentNo`=result.`StudentNo`AND result.`SubjectNo`=subject.`SubjectNo`ANDsubjectName='数据库结构-1'ORDER BY StudentResult  DESCLIMIT 10,5

子查询

-- 子查询   把自身的查询结果 当作 另一条查询语句的条件来使用-- 查询 课程名称是  数据库结构-1  并且分数不小于80分的学生姓名和学号SELECT  studentName,studentNoFROM studentWHERE studentNo IN(SELECT studentNoFROM resultWHERE subjectno=(SELECT subjectno FROM SUBJECT WHERE subjectName='数据库结构-1')AND StudentResult>=80

统计函数

--  统计函数--   count() sum() avg()  min() max()SELECT COUNT(*) AS 总记录数, MAX(studentResult) AS 最高分, MIN(studentResult) AS 最低分, AVG(studentResult) AS 平均分, SUM(studentResult) AS 总成绩   FROM result

 

-- 执行顺序FROM  表WHERE  条件GROUP BY 分组(列)HAVING 分组的条件SELECT 查询的内容ORDER BY

小练习:

有个tb表

字段如下

 

要求实现的效果

实现代码

SELECT sex AS 性别,COUNT(sex) AS 人数FROM tbWHERE sex IS NOT NULLGROUP BY sexORDER BY COUNT(sex) DESCSELECT sex AS 性别,COUNT(sex) AS 人数FROM tbWHERE sex IN('男','女')GROUP BY sexORDER BY COUNT(sex) DESC

 

-- 查询 mysql默认的事务隔离级别SELECT @@tx_isolation-- 改变事务隔离级别SET tx_isolation='Read-committed'-- 开启事务START  TRANSACTION-- 回滚  rollback-- 提交 commit

 

转载于:https://www.cnblogs.com/xtdxs/p/7093812.html

你可能感兴趣的文章
SQL Server死锁详解
查看>>
电影剧本写作基础
查看>>
7.11 计算机基础
查看>>
虚拟机 liunx系统以 root 身份登录权限
查看>>
《当程序员的那些狗日日子》(五十一)太不给力的年终奖
查看>>
LeetCode(203): Remove Linked List Elements
查看>>
Join和Relate作用和区别
查看>>
mysql中的意向锁IS,IX
查看>>
CSS学习笔记02float
查看>>
python库的学习系列之 15. Generic Operating System Services
查看>>
使用excel进行数据挖掘(5)---- 应用场景分析
查看>>
【CSS】隐藏多行文本框Textarea在IE中的垂直滚动栏
查看>>
2017-2018-1 《信息安全系统设计基础》实验一报告
查看>>
2017-2018-1 20155303 《信息安全系统设计基础》第五周学习总结
查看>>
0314考试总结
查看>>
Jquery 文字模拟输入效果
查看>>
linux 下 `dirname $0`
查看>>
代理模式(C++)
查看>>
vim自动补全快捷键
查看>>
Android Service AIDL
查看>>