ui設(shè)計(jì)做兼職的網(wǎng)站刷推廣鏈接的網(wǎng)站
連接查詢是將兩個(gè)或兩個(gè)以上的表按照某個(gè)條件連接起來(lái),從中選取需要的數(shù)據(jù);
查詢t_book表數(shù)據(jù)
查詢t_bookType表數(shù)據(jù)
1、內(nèi)連接查詢
內(nèi)連接查詢是一種最常用的連接查詢。內(nèi)連接查詢可以查詢兩個(gè)或者兩個(gè)以上的表;
SELECT * FROM t_book,t_booktype;
SELECT * FROM t_book,t_booktype WHERE t_book.bookTypeId = t_booktype.id;/*內(nèi)連接*/
SELECT bookName,price,booktypeName FROM t_book,t_booktype WHERE t_book.bookTypeId = t_booktype.id;/*內(nèi)連接 只顯示一部分字段,這樣查詢不好,如果字段多的話,比較混亂,需要使用到別名,如下面: 使用別名查詢*/
使用別名查詢
SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId = tby.id;/*內(nèi)連接 使用別名查詢*/
2、外連接查詢
外連接可以查出某一張表的所有信息;
SELECT 屬性名列表 FROM 表名 1 LEFT或者 RIGHT JOIN 表名2 ON 表名1.屬性名1-表名2.層性名2;
提醒:
外連接,有時(shí)候查詢,需要把某張表的某個(gè)字段全部顯示出來(lái),哪怕另外一張表沒(méi)有字段顯示為null
2.1、左連接查詢
SELECT * FROM 表名1 LEFT JOIN 表名2 ON 條件 可以查詢出“表名1”的所有記錄,而“表名2”中,只能查詢出匹配的記錄;
/*左連接 左邊的表數(shù)據(jù)全部顯示出來(lái)*/
SELECT * FROM t_book LEFT JOIN t_booktype ON t_book.bookTypeId = t_booktype.id;
SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb LEFT JOIN t_booktype tby ON tb.bookTypeId = tby.id;
2.2、右連接查詢
SELECT * FROM 表名1 RIGHT JOIN 表名2 ON 條件可以查詢出“表名2”的所有記錄,而“表名1”中,只能查詢出匹配的記錄;
SELECT * FROM t_book RIGHT JOIN t_booktype ON t_book.bookTypeId = t_booktype.id;
SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb RIGHT JOIN t_booktype tby ON tb.bookTypeId = tby.id;
3、多條件連接查詢
由多個(gè)條件組合進(jìn)行查詢的,使用多個(gè)條件連接查詢可以實(shí)現(xiàn)復(fù)雜條件的組合
使用多個(gè)條件連接查詢是一種常用的技術(shù),它能夠幫助開(kāi)發(fā)人員實(shí)現(xiàn)更加靈活復(fù)雜的查詢,提高查詢的效率。
如下是使用多個(gè)條件連接查詢的一個(gè)示例:
SELECT 字段1, 字段2…FROM 表1 LEFT JOIN 表2 ON 表1.字段1=表2.字段1 WHERE 條件1 and 條件2 and 條件3;
SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb LEFT JOIN t_booktype tby ON tb.bookTypeId = tby.id WHERE tb.bookTypeId > 5 AND tb.price > 20;
SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId = tby.id AND tb.price > 20;
推薦
MySQL:常用的SQL語(yǔ)句