数据库查询
子查询:
写在括号内的查询语句,优先查询,可以用在筛选符合条件的数据时使用。例如在数据更新时,
假设我们有几张表,一张借阅记录表,一张卡表,假设我们想要更新某个学生正在使用卡的借书数量,则可以在更新数据的时候使用子查询优先筛选出借阅记录表中符合条件的数据条数再进行更新。同样,子查询也可用在普通的查询语句中,在使用子查询前最好先想好别名以便于帮助自己确认自己要筛选的数据到底是什么。
其次,当子查询写在from语句后面时可理解为表的关联查询。
表的关联查询:
实际使用过程中,由于表的设计原因,往往是由多表联合查询得出结果
会出现笛卡尔积现象:当两张表进行连接查询时,没有任何的条件限制,最终的查询结果条数是两张记录表条数的乘积。有关笛卡尔积的部分可以在离散数学一课里学习。
连接查询的分类:
内连接
1.等值连接
连接条件是等量关系。
2.非等值连接:
连接条件中的关系是非等量关系
外连接
1.左连接:
left jion
2.右连接:
right jion
一丢丢思考:
查询时习惯使用别名,尤其是在使用子查询时,方便阅读和理解,能够帮助理清思路。
当需要计数时,可通过分组和count函数来进行计数获取总量。
当数据量很大的时候,使用子查询在where作为判断条件的查询效率要比链表查询更加快速。
浙公网安备 33010602011771号