1. 程式人生 > >[資料庫]MySql單表多表查詢常用技巧(不斷更新中)

[資料庫]MySql單表多表查詢常用技巧(不斷更新中)

最近在給學校寫一個志願者管理系統,用到了一些資料庫的操作,由於在大二的時候沒有有強度的練習,所以寫一寫隨筆總結一些資料庫的程式設計查詢技巧。希望給大家提供一些幫助。

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;