- 浏览: 203507 次
- 性别:
- 来自: 芜湖
文章分类
- 全部博客 (139)
- 软件 (0)
- Pattern (6)
- CSDN导入 (19)
- Struts (3)
- [网站分类]1.网站首页原创 (27)
- [网站分类]6.转载区 (4)
- Hibernate (10)
- Error (8)
- [网站分类]2.Java新手区 (20)
- Java (8)
- [网站分类]4.其他技术区 (10)
- Web (1)
- C++ (2)
- Algorithm (4)
- Linux (2)
- Skill (1)
- Tech (2)
- Note (2)
- [网站分类]3.非技术区 (1)
- Database (1)
- Winty (7)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (0)
最新评论
-
haohao-xuexi02:
很不错哦。
O'Reilly cos上传组件的使用(1/3) - 上传文件 -
yoin528:
useUnicode=true&charact ...
[原]向MySQL数据库插入Blob数据的问题 -
xiaoqing20:
下载来看看!呵呵
[原]Struts2类型转换 -
xiaoqing20:
[原]Struts2类型转换
-- Author:Winty(天堂露珠)
-- Date:2009-6-14
use test;
-- 创建表
CREATE TABLE Student(
sid VARCHAR(20),
sname VARCHAR(50),
cid VARCHAR(20),
PRIMARY KEY(sid)
);
CREATE TABLE Course(
cid VARCHAR(20),
cname VARCHAR(50),
PRIMARY KEY(cid)
);
INSERT INTO Student values('S001','张三','C100');
INSERT INTO Student values('S002','李四','C200');
INSERT INTO Student values('S003','王五','C300');
-- C000是Course表中没有的
INSERT INTO Student values('S004','赵六','C000');
INSERT INTO Course values('C100','操作系统');
INSERT INTO Course values('C200','编译原理');
INSERT INTO Course values('C300','网络安全');
-- C400是Student表中没有引用的
INSERT INTO Course values('C400','软件技术');
-- 笛卡尔积
SELECT * FROM Student , Course;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C100 | 操作系统 |
| S003 | 王五 | C300 | C100 | 操作系统 |
| S004 | 赵六 | C000 | C100 | 操作系统 |
| S001 | 张三 | C100 | C200 | 编译原理 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C200 | 编译原理 |
| S004 | 赵六 | C000 | C200 | 编译原理 |
| S001 | 张三 | C100 | C300 | 网络安全 |
| S002 | 李四 | C200 | C300 | 网络安全 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | C300 | 网络安全 |
| S001 | 张三 | C100 | C400 | 软件技术 |
| S002 | 李四 | C200 | C400 | 软件技术 |
| S003 | 王五 | C300 | C400 | 软件技术 |
| S004 | 赵六 | C000 | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- 自然连接:NATURAL JOIN
SELECT * FROM Student NATURAL JOIN Course;
/*
结果:
+------+------+-------+----------+
| cid | sid | sname | cname |
+------+------+-------+----------+
| C100 | S001 | 张三 | 操作系统 |
| C200 | S002 | 李四 | 编译原理 |
| C300 | S003 | 王五 | 网络安全 |
+------+------+-------+----------+
*/
-- 内连接:INNER JOIN
SELECT * FROM Student s INNER JOIN Course c ON s.cid=c.cid;
/*
结果:
+------+------+-------+----------+
| cid | sid | sname | cname |
+------+------+-------+----------+
| C100 | S001 | 张三 | 操作系统 |
| C200 | S002 | 李四 | 编译原理 |
| C300 | S003 | 王五 | 网络安全 |
+------+------+-------+----------+
*/
-- 与使用INNER JOIN结果类似,但包含重复列(cid)
SELECT * FROM Student s , Course c WHERE s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
+------+-------+------+------+----------+
*/
-- 左外连接: LEFT OUTER JOIN
SELECT * FROM Student AS s LEFT JOIN Course AS c ON s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | NULL | NULL |
+------+-------+------+------+----------+
*/
-- 右外连接: RIGHT OUTER JOIN
SELECT * FROM Student s RIGHT JOIN Course c ON s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| NULL | NULL | NULL | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- FULL OUTER JOIN:用左右连接实现
SELECT * FROM Student AS s LEFT JOIN Course AS c ON s.cid=c.cid
UNION
SELECT * FROM Student s RIGHT JOIN Course c ON s.cid=c.cid;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | NULL | NULL |
| NULL | NULL | NULL | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- 交叉连接:CROSS JOIN
-- 与SELECT * FROM Student
SELECT * FROM Student CROSS JOIN Course;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C100 | 操作系统 |
| S003 | 王五 | C300 | C100 | 操作系统 |
| S004 | 赵六 | C000 | C100 | 操作系统 |
| S001 | 张三 | C100 | C200 | 编译原理 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C200 | 编译原理 |
| S004 | 赵六 | C000 | C200 | 编译原理 |
| S001 | 张三 | C100 | C300 | 网络安全 |
| S002 | 李四 | C200 | C300 | 网络安全 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | C300 | 网络安全 |
| S001 | 张三 | C100 | C400 | 软件技术 |
| S002 | 李四 | C200 | C400 | 软件技术 |
| S003 | 王五 | C300 | C400 | 软件技术 |
| S004 | 赵六 | C000 | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- UNION
SELECT * FROM Student WHERE sid='S001'
UNION
SELECT * FROM Student WHERE sid='S002';
-- 与此等价
SELECT * FROM Student WHERE sid='S001' OR sid='S002';
/*
结果
+------+-------+------+
| sid | sname | cid |
+------+-------+------+
| S001 | 张三 | C100 |
| S002 | 李四 | C200 |
+------+-------+------+
*/
-- Date:2009-6-14
use test;
-- 创建表
CREATE TABLE Student(
sid VARCHAR(20),
sname VARCHAR(50),
cid VARCHAR(20),
PRIMARY KEY(sid)
);
CREATE TABLE Course(
cid VARCHAR(20),
cname VARCHAR(50),
PRIMARY KEY(cid)
);
INSERT INTO Student values('S001','张三','C100');
INSERT INTO Student values('S002','李四','C200');
INSERT INTO Student values('S003','王五','C300');
-- C000是Course表中没有的
INSERT INTO Student values('S004','赵六','C000');
INSERT INTO Course values('C100','操作系统');
INSERT INTO Course values('C200','编译原理');
INSERT INTO Course values('C300','网络安全');
-- C400是Student表中没有引用的
INSERT INTO Course values('C400','软件技术');
-- 笛卡尔积
SELECT * FROM Student , Course;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C100 | 操作系统 |
| S003 | 王五 | C300 | C100 | 操作系统 |
| S004 | 赵六 | C000 | C100 | 操作系统 |
| S001 | 张三 | C100 | C200 | 编译原理 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C200 | 编译原理 |
| S004 | 赵六 | C000 | C200 | 编译原理 |
| S001 | 张三 | C100 | C300 | 网络安全 |
| S002 | 李四 | C200 | C300 | 网络安全 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | C300 | 网络安全 |
| S001 | 张三 | C100 | C400 | 软件技术 |
| S002 | 李四 | C200 | C400 | 软件技术 |
| S003 | 王五 | C300 | C400 | 软件技术 |
| S004 | 赵六 | C000 | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- 自然连接:NATURAL JOIN
SELECT * FROM Student NATURAL JOIN Course;
/*
结果:
+------+------+-------+----------+
| cid | sid | sname | cname |
+------+------+-------+----------+
| C100 | S001 | 张三 | 操作系统 |
| C200 | S002 | 李四 | 编译原理 |
| C300 | S003 | 王五 | 网络安全 |
+------+------+-------+----------+
*/
-- 内连接:INNER JOIN
SELECT * FROM Student s INNER JOIN Course c ON s.cid=c.cid;
/*
结果:
+------+------+-------+----------+
| cid | sid | sname | cname |
+------+------+-------+----------+
| C100 | S001 | 张三 | 操作系统 |
| C200 | S002 | 李四 | 编译原理 |
| C300 | S003 | 王五 | 网络安全 |
+------+------+-------+----------+
*/
-- 与使用INNER JOIN结果类似,但包含重复列(cid)
SELECT * FROM Student s , Course c WHERE s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
+------+-------+------+------+----------+
*/
-- 左外连接: LEFT OUTER JOIN
SELECT * FROM Student AS s LEFT JOIN Course AS c ON s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | NULL | NULL |
+------+-------+------+------+----------+
*/
-- 右外连接: RIGHT OUTER JOIN
SELECT * FROM Student s RIGHT JOIN Course c ON s.cid=c.cid;
/*
结果:
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| NULL | NULL | NULL | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- FULL OUTER JOIN:用左右连接实现
SELECT * FROM Student AS s LEFT JOIN Course AS c ON s.cid=c.cid
UNION
SELECT * FROM Student s RIGHT JOIN Course c ON s.cid=c.cid;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | NULL | NULL |
| NULL | NULL | NULL | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- 交叉连接:CROSS JOIN
-- 与SELECT * FROM Student
SELECT * FROM Student CROSS JOIN Course;
/*
结果
+------+-------+------+------+----------+
| sid | sname | cid | cid | cname |
+------+-------+------+------+----------+
| S001 | 张三 | C100 | C100 | 操作系统 |
| S002 | 李四 | C200 | C100 | 操作系统 |
| S003 | 王五 | C300 | C100 | 操作系统 |
| S004 | 赵六 | C000 | C100 | 操作系统 |
| S001 | 张三 | C100 | C200 | 编译原理 |
| S002 | 李四 | C200 | C200 | 编译原理 |
| S003 | 王五 | C300 | C200 | 编译原理 |
| S004 | 赵六 | C000 | C200 | 编译原理 |
| S001 | 张三 | C100 | C300 | 网络安全 |
| S002 | 李四 | C200 | C300 | 网络安全 |
| S003 | 王五 | C300 | C300 | 网络安全 |
| S004 | 赵六 | C000 | C300 | 网络安全 |
| S001 | 张三 | C100 | C400 | 软件技术 |
| S002 | 李四 | C200 | C400 | 软件技术 |
| S003 | 王五 | C300 | C400 | 软件技术 |
| S004 | 赵六 | C000 | C400 | 软件技术 |
+------+-------+------+------+----------+
*/
-- UNION
SELECT * FROM Student WHERE sid='S001'
UNION
SELECT * FROM Student WHERE sid='S002';
-- 与此等价
SELECT * FROM Student WHERE sid='S001' OR sid='S002';
/*
结果
+------+-------+------+
| sid | sname | cid |
+------+-------+------+
| S001 | 张三 | C100 |
| S002 | 李四 | C200 |
+------+-------+------+
*/
发表评论
-
[原]MyEclipse location already exists
2009-07-27 00:37 1746[标题]:[原]MyEclipse location alre ... -
[原]Exception starting filter MyStruts2
2009-07-27 19:41 1067[标题]:[原]Exception starting filt ... -
[原]Struts2校验框架
2009-07-27 23:54 1140[标题]:[原]Struts2校验框架 [时间]:2009- ... -
[原]Struts2-拦截器
2009-08-01 00:21 1170[标题]:[原]Struts2-拦截器 [时间]:2009- ... -
[原]Struts2-文件上传与下载
2009-08-08 08:48 2207[标题]:[原]Struts2-文件上 ... -
[原]Struts2-国际化
2009-08-10 18:13 1913[标题]:[原]Struts2-国际化 [时间]:2009- ... -
[原]Struts2-深入探索
2009-08-29 20:32 1083[标题]:[原]Struts2-深入探索 [时间]:2009 ... -
[原]Struts2-整合JFreeChart
2009-09-03 17:10 1924[标题]:[原]Struts2-整合JFr ... -
[转]Java 小例子:数据持久化(保存数据到文件)
2009-03-16 11:00 1784说数据持久化,初学者可能还不太懂;但要说把数据保存到文件,这谁 ... -
[原]调试EL函数时,Tomcat提示NullPointerException
2009-04-03 19:02 943[标题]:调试EL函数时,Tomcat提示NullPointe ... -
[原]HelloWorldServlet
2009-05-27 22:16 949编译运行步骤: 1、将HelloWorldServlet.ja ... -
[原]getServletInfo()
2009-05-27 23:16 1405《JSP完全学习手册》学习心得之:getServletInfo ... -
[原]jsp:forward
2009-05-27 23:24 934《JSP完全学习手册》学习心得:jsp:forward Jud ... -
[原]jsp:param
2009-05-27 23:27 1620《JSP完全学习手册》学习心得:jsp:param param ... -
[原]request.getParameterValues()
2009-05-27 23:32 1243《JSP完全学习手册》学习心得:request.getPara ... -
[原]隐含对象config
2009-05-27 23:54 770《JSP完全学习手册》学习心得:隐含对象config < ... -
[原]cookie读写
2009-05-28 00:03 869《JSP完全学习手册》学习心得:cookie读写 <%@ ... -
[原]getHttpHeader
2009-05-28 00:14 861《JSP完全学习手册》学习心得:getHttpHeader g ... -
[原]向MySQL数据库插入Blob数据的问题
2009-06-03 23:45 3999[标题]:向MySQL数据库插 ...
相关推荐
2.sql = "select 构件名称,构件代号,横长度,横数量,竖长度,竖数量,比重,相应工艺 from [参数$B2:K" & CSMaxrow & "] where (大样代码='" & DYDH & "') and (内外框='WKXC')" **************************************...
1. **服务器准备**:由于原MsSql服务器与目标MySQL服务器之间无法直接通信,需要在一台能够同时访问内外网的计算机上部署SSIS。 2. **SSIS安装**:安装SQL Server中的商业智能工具包,包括SSIS。考虑到后续连接MySQL...
6. Hub是集线器的英文缩写,它是网络连接设备,用于多台计算机的汇聚连接,实现数据传输。 7. 在Word的编辑状态下,打开文档ABC,修改后另存为ABD,则原文档ABC未被修改,仍保持原样,未被覆盖或关闭。 8. 计算机...
Linux操作系统作为网络环境中的网关,通常起到连接内外网络、转发数据包的作用。它可以作为路由器,根据IP地址和端口号来决定数据的流向。在这个场景中,Linux系统可能被配置为监听特定端口(如9005)以接收来自eko...
这可能涉及到数据库操作,如使用ADO(ActiveX Data Objects)连接到SQL Server或其他类型的数据库,存储和检索用户信息。同时,为了防止垃圾邮件,系统可能还设置了邮件发送频率限制和黑名单机制。 此外,考虑到...
3. 报表发布管理:Crystal Reports确保了报表的安全发布和高效管理,使得组织内外的信息需求得以满足,无论是在企业内部还是面向客户,都能实现信息的安全共享。 4. 应用系统集成:强大的二次开发支持使得Crystal ...
2. 数据存储:Webview还可以通过`localStorage`、`IndexedDB`、`WebSQL`等方式存储数据,但需要注意其可能会占用大量空间,应定期清理。 3. 离线缓存:通过Service Worker技术,可以实现离线缓存,即使在无网络连接...
- **脱机访问:**即使在没有网络连接的情况下,用户也可以继续查看和编辑SharePoint中的文档和列表内容。 - **智能模板填充文档元数据:**提高了内容管理的效率和准确性。 **2. 社交网络功能** - **Outlook社交网络...