子查询学习

子查询规则(初级):

子查询可以写在WHERE子句、HAVING子句、FROM子句中。
子查询分为多行子查询和单行子查询。

如果能够保证返回的行数小于等于1行的,则是单行子查询。
使用单行比较操作符:=、>、>=、<、<=、<>。
否则是多行子查询。
使用多行比较符:IN、> ANY 、> ALL、< ANY、< ALL。

下面我们测试下子查询的效果,还是用之前的TEST_T表。表结构在http://www.live-in.org/archives/2114.html

子查询一般情况下返回一个列的值(单列子查询),也可以返回多个列的值(多列子查询),但要成对匹配。
单列子查询可以在DECODE和CASE语句,还有SELECT中除GROUP BY子句以外的所有子句中使用。

多列子查询例子:

select t1.id 序号, t1.no 班级, t1.s_name 学生名字, t1.score 分数 from test_t t1 where (t1.id,t1.score) in (select t2.id, t2.score from test_t t2);

这里子查询返回两个列,但外层查询也要同时匹配这两个列。
继续阅读子查询学习

Linux rz和sz命令

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

安装命令:

yum install lrzsz

从服务端发送文件到客户端:

sz filename

从客户端上传文件到服务端:

rz

在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

SecureCRT设置默认路径:
Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell设置默认路径:
右键会话 -> 属性 -> ZMODEM -> 接收文件夹

PS:同事和我说SecureCRT可以方便的上传下载文件,而Xshell没有。我上网一查原来用的是同一个sz/rz工具,Xshell下没有菜单选择要输命令。