sql语句联表查询之(join....on)
来源:互联网 发布:鑫昊达网络 编辑:程序博客网 时间:2024/05/07 02:26
表1:
--
-- 表的结构 `bumen`
--
CREATE TABLE IF NOT EXISTS `bumen` (
`bid` int(10) NOT NULL AUTO_INCREMENT,
`mingcheng` varchar(30) DEFAULT NULL,
`jingli` varchar(30) DEFAULT NULL,
`tel` varchar(30) DEFAULT NULL,
PRIMARY KEY (`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- 转存表中的数据 `bumen`
--
INSERT INTO `bumen` (`bid`, `mingcheng`, `jingli`, `tel`) VALUES
(1, '技术部', '小雍', '15236018201'),
(2, '人事部', '小东', '15236015648'),
(3, '市场部', '小高', '154565648');
表2:
--
-- 表的结构 `zhigong`
--
CREATE TABLE IF NOT EXISTS `zhigong` (
`zid` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(30) DEFAULT NULL,
`age` int(10) DEFAULT NULL,
`zhiwu` varchar(30) DEFAULT NULL,
`price` int(10) DEFAULT NULL,
`bnumber` int(10) DEFAULT NULL,
PRIMARY KEY (`zid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- 转存表中的数据 `zhigong`
--
INSERT INTO `zhigong` (`zid`, `name`, `age`, `zhiwu`, `price`, `bnumber`) VALUES
(1, '小高', 40, '员工', 2000, 1),
(2, '李亮', 42, '员工', 2000, 2),
(3, '李亮', 42, '员工', 2000, 2),
(4, '小亮', 38, '员工', 2000, 2),
(5, '张三', 40, '员工', 2000, 3),
(6, '李四', 41, '员工', 2000, 2);
如:查询 “人事部”年龄在40岁以上的职工号,姓名,职务,年龄;
有两种查询方式:
select z.zid,z.name,z.zhiwu,z.age from zhigong z join bumen b on z.bnumber=b.bid where b.mingcheng='人事部' and age>40;
select z.zid,z.name,z.zhiwu,z.age from zhigong z,bumen b where z.bnumber=b.bid and b.mingcheng='人事部' and age>40;
这两个都可以;建议使用join...on
--
-- 表的结构 `bumen`
--
CREATE TABLE IF NOT EXISTS `bumen` (
`bid` int(10) NOT NULL AUTO_INCREMENT,
`mingcheng` varchar(30) DEFAULT NULL,
`jingli` varchar(30) DEFAULT NULL,
`tel` varchar(30) DEFAULT NULL,
PRIMARY KEY (`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- 转存表中的数据 `bumen`
--
INSERT INTO `bumen` (`bid`, `mingcheng`, `jingli`, `tel`) VALUES
(1, '技术部', '小雍', '15236018201'),
(2, '人事部', '小东', '15236015648'),
(3, '市场部', '小高', '154565648');
表2:
--
-- 表的结构 `zhigong`
--
CREATE TABLE IF NOT EXISTS `zhigong` (
`zid` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(30) DEFAULT NULL,
`age` int(10) DEFAULT NULL,
`zhiwu` varchar(30) DEFAULT NULL,
`price` int(10) DEFAULT NULL,
`bnumber` int(10) DEFAULT NULL,
PRIMARY KEY (`zid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- 转存表中的数据 `zhigong`
--
INSERT INTO `zhigong` (`zid`, `name`, `age`, `zhiwu`, `price`, `bnumber`) VALUES
(1, '小高', 40, '员工', 2000, 1),
(2, '李亮', 42, '员工', 2000, 2),
(3, '李亮', 42, '员工', 2000, 2),
(4, '小亮', 38, '员工', 2000, 2),
(5, '张三', 40, '员工', 2000, 3),
(6, '李四', 41, '员工', 2000, 2);
如:查询 “人事部”年龄在40岁以上的职工号,姓名,职务,年龄;
有两种查询方式:
select z.zid,z.name,z.zhiwu,z.age from zhigong z join bumen b on z.bnumber=b.bid where b.mingcheng='人事部' and age>40;
select z.zid,z.name,z.zhiwu,z.age from zhigong z,bumen b where z.bnumber=b.bid and b.mingcheng='人事部' and age>40;
这两个都可以;建议使用join...on
0 0
- sql语句联表查询之(join....on)
- SQL 多表查询 JOIN ON
- SQL语句-- LEFT JOIN 关联表查询
- sql语句之join
- sql查询语句之left join、right join、inner join的区别
- Linq 之 join on 查询
- sql:left join、right join、inner join联表查询
- sql语句中JOIN ON 的使用
- sql语句中JOIN ON 的使用
- mysql连表查询之left join on / right join on / inner&nb
- sql语句的联合查询(join 用法)
- sql语句的联合查询(join 用法)
- php join 构造sql查询语句
- SQL Join on联合查询和子查询
- SQL语句之查询
- sql 语句 多表查询 left right on where
- [转载]SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
- sql 多表查询--join
- 2015年的最后一天后
- 20151231 OCP 053 90-120
- 2015年的三个大愿望全部实现!嘎嘎!
- mental ray渲染引擎----环境映射
- NSMutableDictionary 的使用
- sql语句联表查询之(join....on)
- 让IE支持placeholder属性
- MS chart 非常详细的例子,实现拖动放大
- LaTex集合之间关系表示
- 状态栏高度和标题栏高度
- 关于美国最高法院的几个网站(持续补充)
- 协议组态方式接入设备
- 客户端访问https站点(自定义证书)
- 湖南集训Day6