首页 > 代码库 > SQL——连接查询
SQL——连接查询
以mysql为例:
新建两张表table1和table2
CREATE TABLE `table1` ( `id` int(11) NOT NULL auto_increment, `name` varchar(20) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf-8
CREATE TABLE `table2` ( `id` int(11) NOT NULL auto_increment, `name` varchar(20) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf-8
插入数据
table1 | |
id | name |
1 | 11 |
2 | 111 |
3 | 1111 |
4 | 11111 |
table2 | |
id | name |
1 | 22 |
2 | 222 |
3 | 2222 |
1.左连接查询:
SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.id=t2.id
理解:先把左表的所有数据查出来,再根据on后面的条件,把符合条件的右表的数据附加到左表
2.右连接查询:
SELECT * FROM table1 t1 RIGHT JOIN table2 t2 ON t1.id=t2.id
理解:先把右表的所有数据查出来,再根据on后面的条件,把符合条件的左表的数据附加到右表
3.内连接查询
SELECT * FROM table1 a JOIN table2 b ON a.id=b.id 或者SELECT * FROM table1 a INNER JOIN table2 b ON a.id=b.id 或者SELECT * FROM table1 a , table2 b WHERE a.id=b.id
理解:以上三条语句同等,即把符合相同条件的表的数据查出来
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。