SQL两表关联查询(两表会了,三表,四表都小意思)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

这几天在php群里吹牛逼,看到一个sql表关联查询问题,以前就想写,一直没总觉,实话说,我去年这个时候一表查询都不会,说来惭愧,闲话不多说,正题开始: 首先是news表

SQL两表关联查询(两表会了,三表,四表都小意思)_第1张图片

下面是newscate表

SQL两表关联查询(两表会了,三表,四表都小意思)_第2张图片

//概念,只要两表有公共的字段有匹配之,就可以将两表中的记录组合起来。
//这里的表newscate和news表的公共字段就是news_id和news表的id。

1.INNER JOIN ===就是两个表的相同部分的集合,也就是说把这两个表的相同内容变成一个新的表,然后显示出来 语法: select 字段 from table1 inner join table2 on table1.field1=table2.field2;

//例子:
SELECT title,name,description FROM `newscate` INNER JOIN news on newscate.news_id=news.id;

SQL两表关联查询(两表会了,三表,四表都小意思)_第3张图片

2.LEFT JOIN ====左关联查询,left前面的表示主表,后面是附表,

//这里,主表会显示,附表没有的值会null
//例子:
select a.*, b.description from news as a LEFT JOIN newscate as b on a.id=b.news_id;

SQL两表关联查询(两表会了,三表,四表都小意思)_第4张图片 3.RIGHT JOIN====右关联查询,类似于左关联,

SELECT a.title,a.name,b.* from news as a RIGHT JOIN newscate as b on a.id=b.news_id;

结果我就不写了,你可以在phpmyadmin下输入测试! 以上就那么多,不足的地方请留言,大家一起进步

转载于:https://my.oschina.net/gracebear/blog/888948

你可能感兴趣的:(SQL两表关联查询(两表会了,三表,四表都小意思))