易截截图软件、单文件、免安装、纯绿色、仅160KB

sql嵌套子查询

子查询:
使用子查询的原则
1.一个子查询必须放在圆括号中。
2.将子查询放在比较条件的右边以增加可读性。
子查询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,
并且如果指定了它就必须放在主 SELECT 语句的最后。
ORDER BY 子句可以使用,并且在进行 Top-N 分析时是必须的。
3.在子查询中可以使用两种比较条件:单行运算符和多行运算符。
子查询的类型
单行子查询:从内 SELECT 语句只返回一行的查询
多行子查询:从内 SELECT 语句返回多行的查询
单行子查询
单行子查询是从内查询返回一行的查询。在该子查询类型中用一个单行操作符。幻灯片中列出了单行操作符。

显示那些 job ID 与雇员 141 相同的雇员。
SELECT last_name, job_id
from employees
WHERE job_id =
(SELECT job_id
from employees
WHERE employee_id = 141);
SELECT last_name, job_id, salary
from employees
WHERE job_id =
(SELECT job_id
from employees
WHERE employee_id = 141)
AND salary >
(SELECT salary
from employees
WHERE employee_id = 143);
显示 job ID 与雇员 141 相同,并且薪水 高于雇员 143 的那些雇员。
注:外和内查询可以从不同的表中取得数据。
SELECT last_name, job_id, salary
from employees
WHERE salary =
(SELECT MIN(salary)
from employees);
求所有人谁的工资最小。
SELECT department_id, MIN(salary)
from employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
from employees
WHERE department_id = 50);
求每个部门的最小工资,但是要高于50号部门的工资。
SELECT employee_id, last_name
from employees
WHERE salary =
(SELECT MIN(salary)
from employees
GROUP BY department_id);
问题出现在:单行子查询返回了多个查询值;
应改为:
SELECT employee_id, last_name
from employees
WHERE salary in
(SELECT MIN(salary)
from employees
GROUP BY department_id);
SELECT last_name, job_id
from employees
WHERE job_id =
(SELECT job_id
from employees
WHERE last_name = 'Haas');
如果子查询返回的是零值,不会对主程序造成影响;
如果子查询返回的是空值,那么会影响主程序的返回值;
SELECT employee_id,
last_name
f


相关文档:

sql server 连接池

SQL Server 加载驱动和url的语句则为
驱动包为com.microsoft.sqlserver.jdbc.SQLServerDriver
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
驱动包为com.microsoft.jdbc.sqlserver.SQLServerDriver时
String driver ......

SQL Server之分布式事务

SQL Server之分布式事务
 
 收藏
--> Title  : SQL Server之分布式事务
 
--> Author : wufeng4552
 
--> Date   : 2009-11-11
 
SQL Server之分布式事务
 
(一)概念:
 
分布式事务是涉及来自两个或多个源的资源的事务。Microsoft® SQL Serv ......

Sql Server2000,Sql Server2005中的表结构的相关信息

Sql Server2005的:
SELECT
TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
Column_id=C.column_id,
ColumnName=C.name,
PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
[IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√' ......

DataGridView控件与SQL多表连接~!

一个最简单的代码段:
string sql = string.Format("select Consult_Info.CName,Consult_Record.RTime,Consult_Record.RContent,Emp_Info.EName,CMode.Mode from Consult_Info inner join Consult_Record on(Consult_Info.CID = Consult_Record.CID) inner join Emp_Info on(Emp_Info.EID=Consult_Record.EID) inner join ......

一种不错的从SQL转Mysql数据库的方法

年初的时候一直在做一个网站MSSQL2000->MySQL5的迁移工作,因为采用了不同的程序系统,所以主要问题在数据的迁移。由于2个系统数据库结构差异非常大,不方便采取SQLSERVER里导入MYSQL的ODBC数据源的功能(也不推荐这么做,字段类型等不同点会搞死人的~),因此就在WINDOWS下自己写PHP脚本从SQLSERVER里读数据,然后按照 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号