SQL - 进阶语法(一)

1. SELECT TOP

sql 复制代码
SELECT TOP Number|Percentage column1 from ...

选择所需要的数据的前多少行,Number表示具体数值,Percentage表示百分比

2. LIKE

搜索列元素的指定模式,匹配对应的信息进行自定义搜索

通常需要搭配通配符进行使用

|--------|--------------|
| % | 替代多个字符 |
| - | 替代一个字符 |
| \[\] | 字符列中包含任何一个字符 |
| ^\[\] | 不在字符列表中的字符 |

3. IN

可以在WHERE语句中规定多个值,

常规的WHERE只能规定一个值

sql 复制代码
SELECT column1 FROM xxx
WHERE column1 IN (value1,value2);

4. BETWEEN

选择介于两个值之间的范围进行选择

sql 复制代码
SELECT column1 
FROM table1
WHERE column BETWEEN value1 AND value2;

5. AS

使用SQL对于表的名称进行另外的指定

sql 复制代码
SELECT column1_name as new_name from table_name;
sql 复制代码
SELECT column FROM table_name as new_table_name;
sql 复制代码
SELECT CONCAT(column1,column2) AS new_name FROM xxx;

6. JOIN

JOIN常用于将两个或多个表格根据不同方式进行拼接,基于共同的属性

INNER匹配至少一个属性返回,可以思考为多个表之间通过某一个相同属性进行连接

返回的表格是两个表格间都包含的

JOIN与ON搭配使用

ON后面所跟为指定多个表格间以什么属性进行拼接

• INNER JOIN

默认合并形式

匹配condition后的内容,多个表格之间若有超出的,不计入的当前的状态中

所返回的表格是两个表格同时包含的数据

sql 复制代码
SELECT table1.column, table2_column 
FROM table1
INNER JOIN table2
ON Condition;

• LEFT JOIN

返回左表为基准的合并表格

两个表格拥有相同元素进行匹配,以左表为准返回对应值,未配对上以null形式保存

可以理解为依照左边的表格为准,有多少行就有多少行

sql 复制代码
SELECT table1.column, table2_column 
FROM table1
LEFT JOIN table2
ON Condition;

• RIGHT JOIN

返回右表为基准的合并表格

两个表格拥有相同元素进行匹配,以右表为准返回对应值,未配对上的以null形式保存

sql 复制代码
SELECT table1.column, table2_column 
FROM table1
RIGHT JOIN table2
ON Condition;

注:判断null需要使用is,而不是'='

合并多个表格

对于每两个表格之间使用JOIN连接多个数据库

如以下例子

sql 复制代码
SELECT t1.*, t2.*, t3.*, t4.*
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id
JOIN table3 t3 ON t1.id = t3.id
JOIN table4 t4 ON t1.id = t4.id;

7. SELECT INTO

这一行命令常用于将数据插入到表格或者新建复制表格数据

sql 复制代码
SELECT column1,column2
INTO table_new
FROM table_old
WHERE Condition;

上述例子将table_old表格中column1与column2复制到一个新的名为table_new的表格上

8. CREATE

但在部分数据库中SELECT无法完成创建新表格的任务,所有此时CREATE起作用了,顾名思义,创建一个新的。

sql 复制代码
CREATE new_table
(
Person int,
LastName varcher(255)
)

创建新的表格必须包含列的名称以及数据类型

数据类型为varchar且最大长度不超过255

sql 复制代码
CREATE TABLE new_tabel_name AS
SELECT column1
FROM table
WHERE AGE > 25;

上述代表创建一个名为new_table_name的新表格,将table表格中Age>15的column1数据进行填充

9. 参考资料

菜鸟教程

相关推荐
Data-Miner9 分钟前
面对 AI 大模型智能涌现,如何从技术层面保护好隐私与数据安全?
大数据·人工智能
会议咨询2 小时前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
GlobalInfo2 小时前
全球包装检测用3D轮廓传感器市场调研:2026年规模预计达1.87亿美元,食品医药与电商物流需求推动增长
大数据·人工智能·3d
程序 代码狂人3 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
lzhdim4 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来4 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
starzy19904 小时前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka
数据库小学妹4 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库
数字新视界4 小时前
国产动环数据库在智能机房环境监控中的应用与优势分析
大数据·人工智能·数据中心·机房管理·模块化机房
KaiwuDB4 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式