长sql写法总结

如果各位供职于操纵数据库较多的公司,那么一定避免不了写长sql,会写长sql是程序员的一项默认技能,最近我在研究长sql的写法,首先一条sql根据需求的不同,首先要分析,需求的内容,一般写长sql,都是从最里面开始写,要牢记,sql的作用就是搂数据,怎么能搂出来,就怎么用,sql语句的固定格式永远都是《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》,所谓的长sql就是在在这个基本的框架下不停的嵌套和叠加,还有替换,比如我们在分析需求的时候,首先可能你所需要搂数据的表就是通过很多表所连接而成的,那么你就先构造出你需要的表,这就涉及到“替换”,刚才公式《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》其中表名就可以构造,构造方法即《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》,然后你想要搂出的数据是由其他几个表的某些字段组成,同样也可以《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》,这样就变成了长sql:
《select + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》+ from + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》 + where + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》》甚至子查询中还可以嵌套
比如:
《select + 《select + 你想要搂出来的数据 + from +《select + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》+ from + 《select + 你想要搂出来的数据 + from + 《select + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》+ from + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》 + where + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》》 + where + 限制条件》 + where + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》》 + where + 限制条件》+ from + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》 + where + 《select + 你想要搂出来的数据 + from + 表名 + where + 限制条件》》只要你自己不晕,这样肯定最后能取到想要的数据,前提是数据表是正确的。
这就是一个简单的例子

SQL中,LEFT JOIN是一种连接两个或多个表的方法,它返回左表中的所有行,以及满足连接条件的右表中的匹配行。它的一般语法如下: SELECT 列名 FROM 左表 LEFT JOIN 右表 ON 连接条件 其中,左表是在FROM子句中指定的第一个表,右表是在LEFT JOIN子句中指定的第二个表。连接条件是指在ON子句中指定的列之间的条件,用于确定两个表之间的匹配行。 举个例子,引用和引用提供了两个具体的SQL查询示例: SQL1: SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 连接条件 SQL2: SELECT 列名 FROM 表1 LEFT JOIN (SELECT 列名 FROM 表2) 表2 ON 连接条件 这两个例子展示了使用LEFT JOIN的基本写法。在这些示例中,左表是表1,右表是表2,连接条件是在ON子句中指定的条件。 需要注意的是,LEFT JOIN子句必须在FROM子句之后指定,并且连接条件应该在ON子句中指定。此外,可以根据实际需求在查询中选择需要的列名。 在引用中提供的示例中,LEFT JOIN和过滤条件写在一起。这种写法可以简化查询语句,并提高查询的性能。 总结起来,LEFT JOIN的SQL写法是在FROM子句中指定左表和右表,在LEFT JOIN子句中使用ON子句来指定连接条件。可以根据需要选择需要的列名,并根据实际情况灵活运用LEFT JOIN的写法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Spark SQL join 条件写法遇见的坑 left join 最终被当做inner join执行](https://blog.csdn.net/Dax1n/article/details/110149676)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [left join 条件写法 【重要】](https://blog.csdn.net/hutao1101175783/article/details/106362211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值