sql语句联表查询之(join....on)
2015-12-31 21:38
417 查看
表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
相关文章推荐
- 完整和增量备份MySQL脚本
- PostgreSQL 同步复制(1master+2standby)
- 分布式MySQL数据库TDSQL架构分析
- SQLdiag-配置文件-PerfmonCollector
- SyntaxError: Non-ASCII character '\xef' in file deinstall_mysql_5.7.py on line 8, but no encoding de
- MySQL数据库的备份还原
- 7.MongoDB java CRUD
- [实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表
- SqlHelp
- 编译安装mariadb
- 扩展GridView导出Excel功能
- MySQL执行计划解读
- redis文档翻译_key设置过期时间
- --SQL正则替换函数
- 数据库升级代码学习
- mysql -B 恢复与不加
- sql
- MySQL Full Join的实现
- mysql 升级遇到的问题 (本次由5.1.1X到5.6.28)
- 用stuff 写sql 函数,查询拼装出某列数据中的所有数字。