Mysql的幾個join用法

2021-10-08 23:45:32 字數 1912 閱讀 5760

sql檔案

create table `user`

(`id`

int(11) not null auto_increment,

`name`

varchar(32) character set utf8 collate utf8_general_ci not null comment '使用者名稱',

`registration`

datetime(0) null default null comment '生日',

`***`

char(1) character set utf8 collate utf8_general_ci null default null comment '性別',

`address`

varchar(256) character set utf8 collate utf8_general_ci null default null comment '位址',

`email`

varchar(255) character set utf8 collate utf8_general_ci null default null,

`word`

varchar(255) character set utf8 collate utf8_general_ci null default null,

primary key (`id

`) using btree

) engine = innodb auto_increment = 1064 character set = utf8 collate = utf8_general_ci row_format = dynamic;

create table `vip`

(`vid`

int(11) not null auto_increment,

`pri`

int(11) null default null,

`money`

double null default null,

`xid`

int(11) null default null,

primary key (

`vid`

) using btree

) engine = innodb auto_increment = 8 character set = utf8 collate = utf8_general_ci row_format = dynamic;

這是表結構

#內連線(二者皆有)

select * from `user`

u inner join vip v on v.xid=u.id

#左連線

select * from `user`

u left join vip v on v.xid=u.id

#右連線

select * from `user`

u right join vip v on v.xid=u.id

#檢視兩者獨有的

select u.*,v.* from `vip`

v left join user u on v.xid=u.id where u.id is null

union all

select u.*,v.* from `user`

u left join vip v on v.xid=u.id

where v.xid is null

Mysql系列 Join多種用法

sql優化中常用的方法之一就是將表關聯或子查詢改為join的用法,如上圖所示join的用法有很多種,導致有很多小夥伴經常搞混。本文將通過具體例子介紹sql中的各種常用join的特性和使用。準備資料 create table tb1 ept id int 11 not null auto increm...

mysql 聯合查詢 join 用法舉例

最好在相同字段進行比較操作,在建立好的索引欄位上儘量減少函式操作 1 選取最適用的字段屬性,應該盡量把字段設定為not null,這樣在將來執行查詢的時候,資料庫不用去比較null值。2 使用連線 join 來代替子查詢 sub queries 3 盡量少使用 like 關鍵字和萬用字元 列出所用文...

join 函式的用法

join 函式連線字串陣列。將字串 元組 列表中的元素以指定的字元 分隔符 連線生成乙個新的字串 語法 sep join seq sep 分隔符。可以為空 seq 要連線的元素序列 字串 元組 字典 上面的語法即 以sep作為分隔符,將seq所有的元素合併成乙個新的字串 返回值 返回乙個以分隔符se...