大数据学习笔记8-Mysql高级2

知识点1:多表查询之as语法

-- 1. 给表起别名
-- 作用 : 可以让我们使用表时,用更加简便的表名调用表中的字段
-- 关键字 : as
-- 格式 : 在from 后的表名 后添加 as 别名     表名  as 别名

-- 注意1: 给表起别名后, 原始的表名将无法继续使用

-- 注意2:  给表起的别名只在当前sql语句中生效.遇到; 这个别名就失效了.

-- 2. 给字段起别名
-- 作用 : 我们输出该数据时, 显示的字段名称为我们修改过的名称
-- 关键字 : as
-- 格式 : 在select 之后的字段名  添加 as    列名 as 别名

-- 注意1: 可以使用中文进行别名的赋值么? 可以,但是永远不要用, 因为可能由于系统环境, 或软件版本原因无法执行代码.

-- 注意2: 在 分组, 排序, 时可以使用别名

-- 注意3: 在where 条件语句中, 不能使用字段别名

知识点2:多表查询之连接关键字的省略

-- 1. inner join 中的inner 关键字可以省略

-- 2. left outer join 中的 outer关键字可以省略

-- 3. right outer join 中的 outer关键字可以省略

-- 4. 所有给表和字段起别名时书写的as关键字都可以省略

-- 省略后, 效果不变

知识点3:多表查询之子查询

子查询: 在一个select语句中,嵌套另外一个select语句, 内部的查询语句就叫做子查询.

格式: select 列 from 表 (select........)

-- 子查询,就是在一个查询语句中,嵌套另一个查询语句
-- 子查询的结果,可以给外部查询语句使用  -----   子查询语句先执行
-- 子查询是一个完整的查询语句,如果子查询异常,整个查询语句将报错.

-- 子查询可以作为一个值出现
-- 需求1: 获取所有商品中价格最高的商品的全部信息
-- 步骤1: 获取所有商品中的最高价格
SELECT
    MAX(price)
FROM
    products;

-- 步骤2: 获取所有商品中 价格等于5000 的商品信息
SELECT *
FROM
    products
WHERE
    price = 5000;

-- 步骤3: 将第一步与第二步的内容结合, 使第一步的sql语句为第二步的子查询语句
SELECT *
FROM
    products
WHERE
        price = (SELECT
                     MAX(price)
                 FROM
                     products);

sql语句的执行顺序

SELECT
    列1,
    列2..... from 表1 (LEFT/RIGHT) JOIN 表2
ON 表1.字段1 = 表2.字段2
WHERE
    筛选条件
GROUP BY 分组字段
HAVING
    分组后筛选条件
ORDER BY 排序
LIMIT 起始索引, 条目数;

结论: 在group by 之前执行的关键字中,可以使用所有字段, 而在group by 之后的字段只能使用分组字段和聚合函数.

今天的学习笔记就到这里 欢迎大家点赞评论 互相交流
祝大家在程序员的道路上越走越远

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值