MySQl学习笔记(子查询)

修改数据表
添加单列:
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name];//省略FIRST|AFTER col_name将默认你所添加的列位于所有列的最后面

例:ALTER  TABLE  user  ADD  age  TINYINT  UNSIGNED  DEFAULT  20;

添加多列:
ALTER TABLE tbl_name ADD [COLUMN](col_name column_definition,…);
删除列:
ALTER TABLE tbl_name DROP [COLUMN] col_name;

例:ALTER  TABLE  user  DROP  password,DROP  age;

子查询(Subquery)是指出现在其它SQL语句中的SELECT子句
SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
其中SELECT * FROM t1,称为Quter Query/Outer Statement
SELECT col2 FROM t2,称为子查询(Subquery)
子查询指嵌套在查询内部,且必须始终出现在圆括号内。
子查询可以包含多个关键字或条件,
如DISTINCT,GROUP BY,ORDER BY,LIMIT,函数等
子查询的外层查询可以是:SELECT,INSERT,UPDATE等
子查询返回值:子查询可以返回标量,一行,一列或子查询
由比较运算符(>,<,>=,<=,!=,<>等)引发的子查询
用ANY,SOME或ALL修饰的比较运算符

关键字ANYSOMEALL
>,>=最小值最小值最大值
<,<=最大值最大值最小值
=任意值任意值
!=,<>任意值
例:SELECT  goods_name  FROM  tdb_goods  WHERE  goods_price  >  ANY  (SELECT  goods_price  FROM  tdb_goods  WHERE  goods_ctae  ="游戏本");
//查询 tdb_goods表中价格大于任一且种类为游戏本的商品名字

由[NOT] IN/EXISTS引发的子查询
IN / NOT IN顾名思义在里面或不在里面
如果子查询返回任何行,EXISTS将返回true,否则为false;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值