您的位置:首页 > 数据库 > MySQL

[数据库]MySql单表多表查询常用技巧(不断更新中)

2017-05-24 17:35 399 查看
最近在给学校写一个志愿者管理系统,用到了一些数据库的操作,由于在大二的时候没有有强度的练习,所以写一写随笔总结一些数据库的编程查询技巧。希望给大家提供一些帮助。

1.正则表达式

正则表达式完全可以使用正则表达式,支持字符匹配:

1.1:例如:查询所有的2014级以及以上的学生  {注:在数据库的字段中没有年级这个字段,但是可以通过学生的学号来确定该名学生所在的年级。201* ******)。

select * from user where id regexp '(201)[4-9][0-9]{6}'


查询结果:



更多的还在不断更新中。。。 。。。O(∩_∩)O~

1.2:今天设计了一个论坛,关于回帖数量的统计搞了一上午才搞出点儿眉目来。怪我在学校没有好好学习离散数学和数据库原理。

我的表的设计:

主贴:字段ID:bbs_id

回帖:回复的主贴的ID:reply_bbs,我想统计主贴里面的某个字段顺便连count(reply_bbs)也统计到。也就是以主贴ID回帖的数量。

简单点儿,就是得到每一个主贴的回复数量(原谅撸主语文学的不咋地。。。╮(╯▽╰)╭哎)



最后来一发代码:

select b.bbs_id, s.student_id, s.student_nick,
b.bbs_time, b.bbs_title, b.bbs_image, count(r.reply_bbs), b.bbs_look, b.bbs_love
from
(
(
student s inner join bbs b on s.student_id = b.bbs_student
) left join reply r on r.reply_bbs = b.bbs_id
)
group by(b.bbs_id)
order by b.bbs_time desc;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: