mysql_DML_select_子查询

-------------------------------------------------------------------子查询---------------------

--1、子查询必须位于圆括号里

--2、除非主查询理有多个字段进行比较,否则子查询的select子句里只能有一个字段

--3、子查询里不能使用order by 子句。在子查询里,我们可以利用  group by实现order by 功能

--4、返回多条记录的子查询只能与操作符配合使用(如:in)

--5、子查询不能包围在函数里

--6、操作符between不能用于子查询,但是子查询内部可以使用它

--7、select列表里不能引用任何blog/array/club或nclob类型的值

--select a.emp_id,a.emp_name,b.pay_rate

--from employee_tbl a,emplyee_pay_tst b

--where a.emp_id =b.emp_id

--and b.pay_rate <=(

--                 select pay_rate

--                 from emplyee_pay_tst

--                 where emp_id =‘119‘

--                 );

--select *

--from emplyee_pay_tst;

--select a.emp_id,a.emp_name,b.pay_rate

--from employee_tbl a,emplyee_pay_tst b

--where a.emp_id =b.emp_id

--and b.pay_rate=(

--                select pay_rate

--                from emplyee_pay_tst

--                where emp_id=‘119‘

--                 );

--select *

--from emplyee_pay_tst;

--insert into employee_tbl

--values(‘69‘,‘asee‘,‘sd‘,‘青岛‘,‘e‘,3,85,‘‘);

--select

--from employee_tbl a,emplyee_pay_tst b

--where pay_rate <=(

--                 select pay_rate

--                 from emplyee_pay_tst

--                 where emp_id=108);

--update emplyee_pay_tst

--set pay_rate = pay_rate*1.2

--where emp_id in (select emp_id

--                 from employee_tbl

--                 where emp_city =‘北京‘

--                 );

--delete from emplyee_pay_tst

--where emp_id=(

--              select emp_id

--              from employee_tbl

--              where emp_name =‘jack‘);

子查询结果当做临时表查询:

select zxd.stu_name,zxd.sex,a.grade fr0m score a, (

select stu_id ,stu_name,sex from stu where stu_name=‘张晓东‘ )

as  zxd   where a.st_id=zxd.stu_id;

时间: 2024-08-28 14:05:15

mysql_DML_select_子查询的相关文章

子查询

子查询返回单行多列: ANY三种用法: ALL两种用法:

SQL Server子查询填充DataSet时报500内部错误的解决办法

运行环境为Visual Studio 2010,数据库为SQL Server 2008. 执行下面SQL语句 SELECT SubsiteId, SubsiteTitle, count(CollectionID) CollectionNumber,count(LName) PlantNumber FROM (SELECT DISTINCT SubsiteId, SubsiteTitle, CollectionID, LName, CName FROM Cumplag_Garden_Plants

Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

前端学数据库之子查询

查询数据库,当查询条件比较复杂时,常常需要用到子查询.子查询(Subquery)是指出现在其他SQL语句内的SELECT子句.本文将详细介绍子查询 定义 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句 SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2); 其中,SELECT * FROM t1,称为外层查询(Outer Query/Outer Statement),SELECT col2 FROM t2,称为子查询(Su

ThinkPHP3.2 SQL alias 子查询

SELECT info_key, info_value, info_status, edit_time FROM (SELECT * FROM `detail` WHERE login = '[email protected]' ORDER BY edit_time DESC  ) AS aaa GROUP BY info_key 希望通过Thinkphp实现基于alias的子查询,终于参考下面这个文章实现了. http://www.thinkphp.cn/update/122.html 如下是

sql的基础语句-单行函数,dual,数字函数,日期函数,表连接,集合运算,分组报表,单行子查询,多行子查询

3. 单行函数 3.1 转换函数 select ascii('A'),chr(65) from dual; select to_char(1243123),1231451 from dual;靠左边的就是字符串,靠右边的就是数字 select to_char(123512a121) from dual;   --错误的写法,没有引号表示数字,但是数字里面包含了字母,不合法的输入值 select to_number('123141211') from dual; select to_number(

mysql子查询慢的问题

当你在用explain工具查看sql语句的执行计划时,若select_type 字段中出现"DEPENDENT SUBQUERY"时,你要注意了,你已经掉入了mysql子查询慢的"坑"...下面我们来看一个具体的例子 有这样一条查询语句: SELECT gid,COUNT(id) as count FROM shop_goods g1 WHERE status =0 and gid IN (SELECT gid FROM shop_goods g2 WHERE si

Mysql——子查询

子查询的位置: select 中.from 后.where 中.group by 和order by 中无实用意义. 子查询分为如下几类: 1,标量子查询:返回单一值的标量,最简单的形式. 2,列子查询:返回的结果集是 N 行一列. 3,行子查询:返回的结果集是一行 N 列. 4,表子查询:返回的结果集是 N 行 N 列. 可以使用的操作符:= > < >= <= <> ANY IN SOME ALL EXISTS 标量子查询:是指子查询返回的是单一值的标量,如一个数字

彻底搞懂oracle的标量子查询

oracle标量子查询和自定义函数有时用起来比较方便,而且开发人员也经常使用,数据量小还无所谓,数据量大,往往存在性能问题. 以下测试帮助大家彻底搞懂标量子查询. SQL> create table a (id int,name varchar2(10)); Table created. SQL> create table b (id int,name varchar2(10)); Table created. SQL> insert into a values (1,'a1'); 1