MySQL JOIN 连接查询

语法

SELECT * FROM table1 [INNER|INNER|RIGHT] JOIN table2 ON table1.id = table2.id;

INNER查询等号两边都存在的数据,INNER为缺省值
LEFT连接,查询等号左边存在的数据
RIGHT连接,查询等号右边存在的数据

例子

//结构
CREATE TABLE `user`  (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL,
  `sex` tinyint(4) NOT NULL,
  `class_id` tinyint(4) NOT NULL,
  `tel` char(11) NOT NULL,
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8;

CREATE TABLE `class`  (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8;

//INNER连接
SELECT
    `user`.`name` AS 'name',
    `class`.`name` AS 'class'
FROM
    `class` INNER JOIN `user` ON `class`.`id` = `user`.`class_id`;

//等价INNER连接的写法
SELECT 
    `user`.`name` AS 'name',
    `class`.`name` AS 'class'
FROM
    `user`,`class`
WHERE
    `class`.`id` = `user`.`class_id`;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前段时间,关于第一批90后的各种言论甚嚣尘上。 “第一批90后已经秃了; 第一批90后已经离婚了; 第一批90后已...
    苏不造阅读 3,926评论 0 0
  • 文/寂雪 那个雨雪霏霏的冬天,在一条崎岖泥泞的山路上,一个孤单的身影艰难地前行着。我至今仍然能够清楚地想像到当时的...
    读书习字阅读 2,383评论 1 3
  • 如果青春是一场徒劳无功的盛宴,那我仍选择前行。 经常挂在嘴边的一句话便是:既然选择了远方,便只顾风雨兼程...
    易易三阅读 3,262评论 0 0
  • 第五章 八卦祭坛 “行,我答应你”莫天伤一脸无奈得说,谁让人家救了我。 而李光宗也是一脸...
    不方便的面阅读 4,348评论 0 22
  • 林黛玉太聪明,又不知道遮掩,她的爱情太难匹配,换任何一个人都极难拿捏了去……所以很伤神伤身!
    R_Rong阅读 1,449评论 0 0