SQL常用语句(陆续更新)

简介: SQL常用语句(陆续更新)

前言


这个一个平平无奇的sql笔记,持续更新,哪里不会查哪里!


一、目录


1、取出指定条数的sql语句——LIMIT

# 取出180条数据
# LIMIT 
SELECT * from res_comment_detail WHERE brand_name ~ '德克士' LIMIT 180


2、随机读取数据——random()

# ORDER BY random()
select * FROM res_comment_detail WHERE brand_name ~ '德克士' ORDER BY random() LIMIT 180


3、合并多个selecet语句的结果——union

# union操作符用于合并两个或者多个select语句的结果
# 需要注意的是,union内部的每个select语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个select语句中的列的顺序必须相同。
SELECT * FROM table1
UNION
SELECT * FROM table2;
# 需要注意的是:如果还有许多限制条件,那么需要给table1整体加括号,并且必须记得要起一个别名,否则会报错。
select * FROM (select * FROM res_comment_detail WHERE brand_name ~ '康师傅' ORDER BY random() LIMIT 180) AS g
UNION
select * FROM (select * FROM res_comment_detail WHERE brand_name ~ '李先生' ORDER BY random() LIMIT 180) AS k


4、用于返回唯一不同的值——DISTINCT

# tips: 可以是 select DISTINCT brand_name......这种形式,也可以是下边这种形式。
select DISTINCT(brand_name) from public.res_comment_detail where general_label is null 
# notice:distinct关键字只能写在select子句的第一个字段前面,否则报错。

5、将查询结果插入到另一个表——INSERT

# 1、如果要插入的目标表不存在
# 
select * into 目标表 from 表 where ...
# 2、如果要插入的目标表已经存在
# 
insert into 目的表 select * from 表 where 条件
# 3、如果是跨数据库操作
#
select * into B.btable from A.atable where ...

6、分组查询——Group by

# 分组查询,通过一定的规则将一个数据集划分成若干个小的区域,然后针对每个小区域分别进行数据汇总处理,即根据某个字段进行分组。
SELECT brand_name, sum(word_counts)
from PUBLIC.res_words_day_sta_test_copy1 GROUP BY brand_name
# notice:如果查询语句中包含有Gruop bu子句,那么select子句中只可以包含 聚合函数和Group by子句的分组列,其余内容不可以出现。

7、聚合函数

Count(): 统计分组后的记录数: 每一组有多少记录
Max(): 统计每组中非空的最大值
Min(): 统计非空的最小值
Avg(): 统计平均值
Sum(): 统计和
# eg:
# 1、直接查询数量
select COUNT(name) FROM table WHERE batch_id ~ '2021-12'
# 2、与Group by组合使用(查询每个名字在表中出现多少次)
SELECT DISTINCT name,COUNT(name) FROM table  WHERE batch_id ~ '2021-12' GROUP BY name

8、条件语句——having

# 为什么有了where条件语句还要使用having?
# why?where关键字在使用集合函数时不能使用,而在having子句中可以使用聚合函数。一般与group by联合使用。
select name from table WHERE batch_id ~ '2021-12' group by name having count(name)>1 


9、在pycharm里怎么写sql语句

# 1、用字符串函数join()连接sql语句
# notic:因为变量target_job是字符串类型,所以需要加转义字符\'。
# a = ''
# sql = a.join(["select timeline from public.org_target_job_record where target_job = ", "\'", target_job, "\'",
#               " and target_type = ", "\'", target_type, "\'", " ORDER BY timeline DESC limit 1;"])
# 2、更简单的写法
# notic:在字符串前加f主要目的是使得格式化字符串的操作更加简便
# f-string:即被称之为格式化字符串常量,f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。
# advantage: 这样写的好处是可以在字符串中以大括号{}标明被替换的字段
sql = f"select timeline from public.org_target_job_record where target_job = '{target_job}' and target_type = '{target_type}' ORDER BY timeline DESC limit 1 "

10、创建临时表——(create temporary table)

# why? 在临时表上操作速度飞快,适合创建包含大量数据的临时表并且进行多次查询的情况。
# method: create temp temp_table as (select语句)
create temp temp_table as select name, date from dish_table;
# notice: 创建临时表之后,临时表将在你连接MySQL期间存在,当你断开时,MySQL将会自动删除表并且释放所用的空间。
# 当然,为了防止创建了同名表,我们需要首先删除。
drop table if exists temp_table;


参考文章:

菜鸟编程——SQL教程.

数据库MySQL详解.


总结


平平无奇的一天,又是玩游戏玩到忘了午休的一天。

相关文章
|
1月前
|
SQL 存储 缓存
执行一条 SQL 查询语句,期间发生了什么?
执行一条SQL查询语句的过程包括连接器建立连接、查询缓存检查、SQL解析构建语法树、执行计划选择和执行,以及可能涉及的索引下推和索引覆盖优化技术。
79 0
执行一条 SQL 查询语句,期间发生了什么?
|
3月前
|
SQL 缓存 关系型数据库
一条SQL语句的执行历程
【6月更文挑战第8天】该文介绍了SQL执行的流程。从客户端连接MySQL服务器开始,SQL语句首先尝试命中缓存,如果未找到,则进入解析优化阶段,包括词法和语法解析,并根据内部逻辑优化SQL。接下来是执行阶段,涉及预处理和执行,利用索引等加速查询。最终,执行结果返回给客户端,整个过程包括权限检查、打开表、排序、创建临时表等步骤,完成后清理资源。
|
4月前
|
SQL JSON 分布式计算
实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
133 0
实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
|
SQL 存储 Oracle
工作中,我们经常用到哪些SQL语句呢?
工作中,我们经常用到哪些SQL语句呢?
200 1
工作中,我们经常用到哪些SQL语句呢?
|
SQL 分布式计算 Oracle
【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事
复合索引的字段顺序,会影响查询速度,创建复合索引做SQL优化的一般原则是,如果两个字段在WHERE子句中使用频率相同,则将最具选择性的字段排在最前面,以下是分析结果: 原SQL进行了两次全表扫描,优化后的SQL减少一次全表扫描,提高了查询效率。cusomer和customer_detail两个表的cust_id字段经常出现在where子句中,
【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事
|
SQL 存储 缓存
Spark SQL中掌控sql语句的执行 - 了解你的查询计划
Spark SQL中掌控sql语句的执行 - 了解你的查询计划
605 0
Spark SQL中掌控sql语句的执行 - 了解你的查询计划
|
SQL Java 数据库
SQL语句优化的经验分享
你好我是辰兮,很高兴你能来阅读,本篇总结了一些SQL语句相关的优化技巧,分享获取新知,大家一起进步
228 0
|
BI SQL 项目管理
一次"失败的"SQL开发经历
趁着项目上线的空闲,给大家总结一下,在开发项目过程中遇到的一些问题。之所以说它是"失败的"项目,是因为遇到的一些问题是完全可以避免,即使最后按要求完成了任务需求。
1301 0
一次"失败的"SQL开发经历
|
SQL 关系型数据库 PostgreSQL
PostgreSQL技术周刊第13期:PSQL新增变量记录SQL语句的执行情况和错误
PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。
2902 0