面試題 連線查詢和子查詢

2021-08-18 05:21:34 字數 1529 閱讀 8551

今天碰到個有意思的面試題,主要是被第2小題難住了(和同事靈感碰撞才把問題解決),所以做個demo記錄一下。

1、首先我們分別建立 tab_user_info 和 tab_dict_*** 資料表:

create table `tab_user_info` (

`fld_id` int(11) not null auto_increment comment '自增id',

`fld_name` varchar(30) default null comment '姓名',

`fld_***id` varchar(10) default null comment '性別id',

`fld_age` int(11) default '0' comment '年齡',

primary key (`fld_id`)

) engine=myisam auto_increment=7 default charset=utf8mb4;

create table `tab_dict_***` (

`fld_***id` varchar(10) not null comment '性別id',

`fld_***info` varchar(255) default null comment '性別描述',

primary key (`fld_***id`)

) engine=myisam default charset=utf8mb4;

2、我們來初始化一些資料

3、連線查詢

(這個是使用的內連線,a表和b表的相等條件都存在資料才會顯示出來)

4、子查詢

(和左連線查詢效果一樣,利用主表 tab_user_info 的 fld_***id 去 tab_dict_*** 表中獲取性別描述 )

學無止境,努力學習提高自己!

thanks~

SQL面試題之自連線和關聯子查詢

題目描述 員工表 employee column name type employee id int team id int employee id 欄位是這張表的主鍵,表中的每一行都包含每個員工的 id 和他們所屬的團隊。編寫乙個 sql 查詢,以求得每個員工所在團隊的總人數。查詢結果中的順序無特...

sql 查詢面試題

表中有a b c三列,用sql語句實現 當a列大於b列時選擇a列否則選擇b列,當b列大於c列時選擇b列否則選擇c列 if object id testtb is not null drop table testtb gocreate table testtb a int b int c int in...

子查詢 聯合查詢和連線查詢

查詢中巢狀查詢。如 select from select cname,cid from tblclass union select dname,did from department as t1 order by cname 將多個結果集合並成乙個結果集,前提是列數相同,並且相應的列的型別相同。判斷...