SQL語句執行順序 From 表連接 on連接條件,形成新的虛擬表 where 篩選條件 group by 生成新的結果集合 group by 分組列表 having 分組後篩選 select 選出顯示的 order by 排序 limit 分頁/個數限制 子查詢順序 除了exists,先執行子查詢 ...
- SQL語句執行順序
- From
- 表連接
- on連接條件,形成新的虛擬表
- where 篩選條件
- group by 生成新的結果集合 group by 分組列表
- having 分組後篩選
- select 選出顯示的
- order by 排序
- limit 分頁/個數限制
- 子查詢順序
除了exists,先執行子查詢,再外查詢
exists:相關子查詢,先執行外查詢,再根據子查詢欄位進行過濾。
- 分頁查詢
limit (page-1)*size,size
- 字元控制函數
substr('helloworld',1,5) hello
instr('helloworld','w') 6
LPAD(salary,10,'*') ****salary
TRIM('H' from 'Helloworld') elloworld
- 視圖應用場景
- 多個地方用到同樣的查詢結果
- 該查詢結果會用的SQL語句較複雜
- DML 表操作 無table
insert into tableName( column1,column2,...) values(值1,...)
update student set age=18 where name='hwj'
/* 表數據刪除 */
delete from student where age=18
/* 多表 */
delete from student s1,course c1
where s1.class=c1.class
and s1.name='mm';
# 方式2
truncate 語句
truncate table student
- DDL 管理操作,對錶操作要加上欄位table
# 創建 create table if not exists student(column1,...) # 修改 欄位名 Alter table student change column 舊 新欄位 # 修改表名 Alter table student rename to student1 # 修改欄位類型和約束 Alter table tablename modify column column_name 約束 # 添加欄位 Alter table 表名 Add column 欄位; # 刪除欄位 Alter table 表名 drop column 欄位 # 刪除表 drop table if exists 表名