MySQL裡on和where的區別

2021-10-06 07:00:31 字數 2695 閱讀 2141

-- 使用者表(user)

create

table

`user`(

`id`

intauto_increment

primary

keycomment

'使用者id(主鍵)'

,`username`

varchar(50

)comment

'使用者姓名'

,`age`

char(3

)comment

'使用者年齡');

-- 訂單表(orders)

create

table

`orders`

(`id`

intauto_increment

primary

keycomment

'訂單id(主鍵)'

,`price`

double

comment

'訂單**'

,`user_id`

intcomment

'使用者id(外來鍵)');

-- 給已經存在的表新增外來鍵,語法如下

-- alter table 表名 add constraint [外鍵名字] foreign key (外來鍵字段) references 父表(主鍵字段);

alter

table orders add

constraint user_fk foreign

key(user_id)

references

`user

`(id)

;-- 向user表中新增資料

insert

into

user

values(1

,'第一',11

);insert

into

user

values(2

,'小二',12

);insert

into

user

values(3

,'張三',33

);insert

into

user

values(4

,'李四',24

);insert

into

user

values(5

,'王五',17

);insert

into

user

values(6

,'趙六',36

);insert

into

user

values(7

,'七七',18

);insert

into

user

values(8

,'粑粑'

,null);

insert

into

user

values(9

,'小舅'

,null);

-- 向orders 表中插入資料

MySQL 的if條件判斷和where相關條件查詢

如 查詢t role角色表中是否存在t user使用者表中joi使用者的資訊 select distinctrow from t user u left join t role r on r.uid u.uid and r.state 1 where if r.uid is not null r.n...

sql中where條件裡的or與and的關係

在sql中的where條件裡,or與and的關係相當於小學裡的加法與除法 或者乘法 的關係 1 例如 select from user a where a.id 123 or a.id 456 相當於 select from user a where a.id 123 的結果集 加上 select ...

on和where的區別

資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表...