SQL那些事兒(一)

2021-07-02 12:24:06 字數 1916 閱讀 4190

比如這樣

insert into student (id,code,name,sql)values('1','001','張三','insert into student (id)values('1') where name='李四'')
這樣肯定會報錯,因為『會影響外面sql語句

這時我們要修改為這樣

insert into student (id,code,name,sql)values('1','001','張三','insert into student (id)values(''1'') where name=''李四''')
注意在裡面sql語句新增雙單引號。
使用or時比較麻煩
select * from student where name='張三' or name='李四' 

當使用in時
select * from student where name in('張三','李四')
這樣判斷少時顯不出來,當一旦判斷比較多時in的效果比較明顯;or適合不同欄位的判斷,in適合同欄位判斷。
首先他們的union物件是有相同欄位的**

把相同欄位的結合起來,上邊有六個相同字段。union把相同的過濾掉,union all把所有的都列出來。

這個主要用途是提取**的相同資訊。

分為內連線,外連線,完全連線和交叉連線

內連線:最常用的連線,保證左右有資料;

外連線:包含左連線,右連線,全連線,沒有資料的一側為null;

完全連線:與內連線外連線綜合類似;

交叉連線:笛卡爾積,不解釋;

多表連線:

連線兩個資料表的用法:

from member inner join membersort 

on member.membersort=membersort.membersort

語法格式可以概括為:

from 表1 inner join 表2 on 表1.欄位號=表2.欄位號

連線三個資料表的用法:

from (member inner join membersort on member.membersort=membersort.membersort) inner join memberlevel on member.memberlevel

=memberlevel.memberlevel

語法格式可以概括為:

from (表1 inner join 表2 on 表1.欄位號=表2.欄位號) inner join 表3 on 表1.欄位號=表3.欄位號

連線四個資料表的用法:

from ((member inner join membersort 

on member.membersort=membersort.membersort) inner join memberlevel on member.memberlevel=memberlevel.memberlevel) inner join memberidentity on member.memberidentity=memberidentity.memberidentity

語法格式可以概括為:

from ((表1 inner join 表2 on 表1.欄位號=表2.欄位號) inner join 表3 on 表1.欄位號=表3.欄位號) inner join 表4 on member.欄位號=表4.欄位號

SQL的那些事兒

sql語言有以下幾個部分 sql的ddl包含 sql標準支援多種固有型別,包括 create table r a1 d1,a2 d2,an dn,完整性約束1 完成性約束k sql支援許多不同的完整性約束,sql禁止破壞完整性約束的任何資料庫更新 primary key aj 1 aj 2 aj m...

DLL那些事兒(一)

我們將討論 我們不討論 什麼是動態庫 大多數動態庫的副檔名都是 dll hello.cpp extern c char const cdecl getgreeting 使用vs構建工具進行編譯和鏈結,我們使用 c選項告訴編譯器只進行編譯 使用 dll選項告訴鏈結器不要構建exe 預設選項 而是構建乙...

vue那些事兒(一)

開發環境版本,包含了有幫助的命令列警告 script 或者 生產環境版本,優化了尺寸和速度 script 每個vue應用都需要通過例項化vue來實現 語法格式如下 var vm newvue 舉例 vue det site h1 url h1 h1 div var vm newvue methods...