子查询

子查询在()中写sql语句

 

 

 

1.单列子查询

查询一列中的一个值。

  select  * from  table  

where  列1 = (select  列1 from  table  where  列3 = 值)

and 列2=(select  列2  from  table where  列3 = 值 

 


2.单行子查询

查询出多列

  

select  t1.列1,t2.列2,t3.列3  from  table1  t1, (select 列2 from table t2 group by 列2) ,table3  t3

 

where   t1.列5=t2.列5 and t2.列4=t3.列6;

 

 

3.多行子查询

查询多条记录数据

 

in   主查询语句结果在子查询语句

  select * from table  where  列1 in (select max(列1)  from table  group by 列2 );

any

  select * from table  where  列1 = any (select max(列1)  from table  group by 列2 );

all  主查询语句的结果大于或小于子查询语句的结果

select * from table  where  列1 = any (select max(列1)  from table  group by 列2 );

 

 

  

 

posted on 2018-12-16 22:18  rxzhang  阅读(141)  评论(0编辑  收藏  举报

导航