今天碰到個有意思的面試題,主要是被第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 將多個結果集合並成乙個結果集,前提是列數相同,並且相應的列的型別相同。判斷...