a表1,2,3.
b表2,3,4
全連接結果:
1,null
2,2
3,3
null,4
where 選中帶有null的值
1,null
null,4
b表2,3,4
全連接結果:
1,null
2,2
3,3
null,4
where 選中帶有null的值
1,null
null,4
2019-01-24
表a,id為1,2,3
表b,id為2,3,4
想找出不和b表id相等的數據。
(notin方法)
select * from a
where a.id not in (
select id from b
)
(leftjoin方法)
(1)
select * from a
left join b
on a.id=b.id
查出1,null ;2,2;3,3三條數據
上面sql加上where限制,where b.id=null, 就只剩下一條id=1的數據
表b,id為2,3,4
想找出不和b表id相等的數據。
(notin方法)
select * from a
where a.id not in (
select id from b
)
(leftjoin方法)
(1)
select * from a
left join b
on a.id=b.id
查出1,null ;2,2;3,3三條數據
上面sql加上where限制,where b.id=null, 就只剩下一條id=1的數據
2019-01-24
UPDATE `取經四人組`
SET ending='齊天大圣' WHERE `取經四人組`.user_name in
(SELECT * FROM(SELECT `取經四人組`.user_name
FROM `取經四人組` INNER JOIN `孫悟空的朋友` ON `取經四人組`.user_name = `孫悟空的朋友`.user_name )as temp)
SET ending='齊天大圣' WHERE `取經四人組`.user_name in
(SELECT * FROM(SELECT `取經四人組`.user_name
FROM `取經四人組` INNER JOIN `孫悟空的朋友` ON `取經四人組`.user_name = `孫悟空的朋友`.user_name )as temp)
2018-10-18
這個sql分組求top n應該是有問題的,如果一個人在3個不同時間段kill的人相同,比如都kill了一個人,那么就會取不出結果了。
2018-08-11
SELECT
t1.id,
t1.NAME,
t2.num,
count( 1 ) cnt
FROM
tbl_goods t1
LEFT JOIN tbl_sale t2 ON t1.id = t2.goods_id
LEFT JOIN tbl_sale t3 ON t2.goods_id = t3.goods_id
WHERE
t2.num <= t3.num
GROUP BY
1,
2,
3
HAVING
cnt <= 2
---------------------------------
join關聯查詢
t1.id,
t1.NAME,
t2.num,
count( 1 ) cnt
FROM
tbl_goods t1
LEFT JOIN tbl_sale t2 ON t1.id = t2.goods_id
LEFT JOIN tbl_sale t3 ON t2.goods_id = t3.goods_id
WHERE
t2.num <= t3.num
GROUP BY
1,
2,
3
HAVING
cnt <= 2
---------------------------------
join關聯查詢
2018-07-08
前面說找自己問題的,你真是夠了,老師前面明確寫著is null,后面自己寫錯了,然后讓我們找自己的問題?開玩笑吧
2018-06-28