SQL 语言无处不在。SQL 已经不仅仅是技术人员的专属技能了,似乎人人都会写SQL,就如同人人都是产品经理一样。如果你是做后台开发的,那么CRUD就是家常便饭。如果你是做数仓开发的,那么写SQL可能占据了你的大部分工作时间。我们在理解 SELECT 语法的时候,还需要了解 SELECT 执行时的底层原理。只有这样,才能让我们对 SQL 有更深刻的认识。本文分享将逐步分解SQL的执行过程,希望对你有所帮助。
数据准备
本文旨在说明SQL查询的执行过程,不会涉及太复杂的SQL操作,主要涉及两张表:citizen和city,具体数据如下所示:
CREATE TABLE citizen (
name CHAR ( 20 ),
city_id INT ( 10 )
);
CREATE TABLE city (
city_id INT ( 10 ),
city_name CHAR ( 20 )
);
INSERT INTO city
VALUES
( 1, "上海" ),
( 2, "北京" ),
( 3, "杭州" );
INSERT INTO citizen
VALUES
("tom",3),
("jack",2),
("robin",1),
("ja