Mysql 學習筆記( 》連線查詢 高階查詢五)

2021-09-07 08:02:30 字數 1957 閱讀 8941

create table t(

tid int unsigned not null auto_increment,

tname varchar(30),

primary key (tid)

)engine=myisam auto_increment=1 default charset =utf8;

insert into t values(null,'***'),(null,'趙老師'),(null,'張老師');

select * from t;

create table s(

sid int unsigned not null auto_increment,

sname varchar(10)not null,

sgender enum ('男','女','人妖'),

sdept varchar(20) not null default '電腦科學',

sscore int unsigned,

tid int unsigned,

primary key(sid)

)engine=myisam auto_increment=1601 default charset =utf8;

insert into s values(null,'張三','男','美術',80,1),(null,'張三丰','人妖','英語',45,2);

insert into s values(null,'李麗','女','美術',90,3),(null,'黃瑤','女','財經',99,3);

insert into s(sname,sgender,sscore) values('趙磊','男',50),('周磊','人妖',68);

drop table job;

select * from s;

-- 多表查詢(不推薦使用)

select s.`sid`,s.`sname`,t.`tname`

from s,t

where s.tid = t.tid;

-- 連線查詢 join left join right join

select s.`sid` 學號,s.`sname` 姓名,s.`sdept` 專業,if(t.`tname` is null,'沒安排老師',t.`tname`) 老師

from s left join t on s.`tid`=t.`tid`;

create table job(

jid int unsigned not null auto_increment primary key,

jname varchar(20) not null,

jgender enum('男','女'),

jpjid int

)engine=myisam auto_increment=1 default charset =utf8;

insert into job values(null,'張三','男',null);

insert into job values(null,'李四','男',1);

insert into job values(null,'王五','女',1);

insert into job values(null,'趙六','男',3);

select * from job;

desc job;

-- 查詢每個員工的編號姓名及領導的名字

-- 自連線查詢

select j1.`jid` 編號,j1.`jname` 姓名,j2.`jname` 領導姓名

from job j1,job j2

where j1.jpjid=j2.jid

select j1.`jid` 編號,j1.`jname` 姓名,if(j2.`jname` is null,'總經理',j2.`jname`) 領導姓名

from job j1 left join job j2

on j1.jpjid=j2.jid

MySQL高階查詢 連線查詢例項

使用sql查詢很簡單,很基礎的sqlect語句查詢。如果想從多個表查詢比較複雜的資訊,就會使用高階查詢實現。常見的高階查詢包括多連線查詢,外連線查詢與組合查詢等,今天我先學習最常用的連線查詢。我先以一張person表 id,name,phone,age 與乙個student表 id,name,qq,...

MySql 高階 查詢擷取分析 學習筆記

尚矽谷 mysql 高階思維導圖 思維導圖 mmap html格式 在實際的應用中 面對實際的專案系統時,不需要對所有的 sql 都建立索引,費時費力。只需要統計出系統中,使用頻率最高的 查詢時間最慢的 一些 sql 語句即可,也就是 八二原則 處理 20 的 sql,達到 80 的優化。統計出 這...

MySQL資料高階查詢之連線查詢 聯合查詢 子查詢

連線查詢 將多張表 2 進行記錄的連線 按照某個指定的條件進行資料拼接 連線查詢的意義 在使用者檢視資料的時候,需要顯示的資料來自多張表.連線查詢 join,使用方式 左表 join 右表 左表 在join關鍵字左邊的表 右表 在join關鍵字右邊的表 連線查詢分類 sql中將連線查詢分成四類 內連...