MySQL学习笔记1-----子查询

1.什么叫子查询?

通俗的讲就是查询中有查询,SQL语句中有多个select语句。

2.什么地方可以嵌入子查询?

SELECT 列 (不在标准之内)

FROM 表 (可以嵌入,作为表存在)

WHERE 条件 (可以嵌入,作为条件存在)

3. 举例说明

假如此时有一个员工表emp,里面记录了员工的编号、名字、工作、工资及所在部门编号等信息

表结构如下:

查询工资最高的员工的信息

SELECT * FROM emp WHERE sal = (SELECT max(sal) FROM emp); // 此时子查询是嵌套在WHERE后面的。

查询部门编号为30的员工的姓名和员工编号

SELECT e.empno, e.ename FROM (SELECT * FROM emp WHERE deptno = 30)e;  //此时子查询是嵌入在FROM后面的,当时此处也可以使用where条件来实现    相同效果。

查询工资大于39部门所有员工工资的员工信息

SELECT * FROM emp WHERE sal > ALL (SELECT sal FROM emp WHERE deptno = 30);

查询工资大于任一经理工资的员工信息

SELECT * FROM emp WHERE sal > ANY (SELECT sal FROM emp WHERE job=‘经理‘);

时间: 2024-10-13 01:13:53

MySQL学习笔记1-----子查询的相关文章

mysql学习笔记之连接查询与子查询

mysql连接查询与子查询 1.子查询是指在另一个查询语句中的SELECT子句. 例句: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement), SELECT column1 FROM t2 称为Sub Query[子查询]. 所以,我们说子查询是嵌套在外查询内部.而事实上它有可能在子查询内部再嵌套子查询. 子查

MySQL学习15:子查询(一)

一数据准备 (1)创建数据库 CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk; (2)创建数据表 CREATE TABLE IF NOT EXISTS tdb_goods( goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, goods_name  VARCHAR(150) NOT NULL, goods_cate  VARCHAR(40)  NOT NULL, brand_na

12W学习笔记——独立子查询,更新,删除,建立视图

查询的学习进入了最后阶段了,接下来我就来介绍一下查询最后的独立子查询. 独立子查询基本上都是用SELECT  FROM  WHERE 三个语句. 例:在学院表.专业表中,查询人文与管理学院下设各专业的简称 学习完查询之后,回过头学习更新,删除,建立视图 1.更新 更新中最主要的语句是UPDATE  SET  WHERE,并且在过程中也会经常使用到独立子查询. 例:将所有专业基础课的考试方式都改为"考试" 2.删除 (1)清空表 DELETE+表名 (2)删除某些记录 删除也会经常使用独

MySQL学习15:子查询(二)

二子查询 3由[NOT] IN/EXISTS引发的子查询 使用[NOT] IN引发的子查询的语法结构:operand comparsion_operator [NOT] IN (subquery).其中,=ANY运算 符与IN等价:!=ALL或<>ALL运算符与NOT IN等价. 例子: 1)查询所有商品中价格等于超级本价格(任意一个)的商品 SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (

MySQL学习笔记-子查询和连接

MySQL学习笔记-子查询和连接 使客户端进入gbk编码方式显示: mysql> SET NAMES gbk; 1.子查询 子查询的定义: 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句. 例如:  SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2); 其中SELECT * FROM t1 称为Outer Query / Outer Statement (外部查询) SELECT col2 FROM t2 , 被称为Su

MySql学习笔记(一)之DQL常用查询

MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

MySql学习笔记(转载)

/* 启动MySQL */net start mysql /* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- /* 数据库操

MySQL学习笔记—视图

MySQL学习笔记-视图 视图是查看基础表数据的一种方式,其作用有 - 简化开发难度,可以运用视图执行多表操作 - 数据安全,开发人员不能直接对表操作,也不能进行删除,修改操作 - 数据重构,在有限的表中,以不同的角度生成所需的视图,简化业务 CREATE VIEW语法 CREATE VIEW语法: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS