mysql 刪除巢狀查詢的替代方式
mysql不支援刪除巢狀查詢。
比如如下語句:
想刪除一些髒資料
DELETE FROM merchandise WHERE merchandise_id NOT IN ( SELECT parent_id FROM merchandise WHERE is_union=0)
但是執行報錯。
這時可以使用臨時表:就是將資料先存入臨時表,用完後在刪除臨時表
CREATE TEMPORARY TABLE mytempSELECT WHERE is_union=0;
DELETE FROM merchandise WHERE merchandise_id NOT IN (select parent_id FROM mytemp);
drop table mytemp;
分成三條資料即可。
另外
select * FROM merchandise WHERE merchandise_id NOT IN ( SELECT parent_id FROM merchandise WHERE is_union=0)
如果巢狀的select查詢有null值,則此語句不起作用,
DELETE FROM merchandise WHERE merchandise_id NOT IN ( SELECT parent_id FROM merchandise WHERE is_union=0 and parent_id is not null)
相關推薦
mysql 刪除巢狀查詢的替代方式
mysql不支援刪除巢狀查詢。 比如如下語句: 想刪除一些髒資料 DELETE FROM merchandise WHERE merchandise_id NOT IN ( SELECT parent_id FROM merchandise WHE
MySQL的巢狀查詢
定義我就不說了,子查詢就是內部的查詢,包含子查詢就是外部查詢!也就是說巢狀查詢一個是內部查詢一個是外部查詢,而且查詢是由內向外的。 提示一下:在group by和order by中的子查詢是沒有意義的! 子查詢的分類: 標量子查詢—返回單個值的查詢 列子查詢—返
MySQL子查詢 巢狀查詢
子查詢:巢狀在其他查詢中的查詢。 有三張表分別如下: customers: 儲存顧客資訊 orderitems:只儲存訂單資訊,無客戶資訊 orders:儲存訂單號和顧客id 注意:一般在子查詢中,程式先執行在巢狀在最內層的語句,再執行外層。因此在寫子查
MySQL基礎(4)——子查詢(巢狀查詢)、聯結表、組合查詢
本篇主要整理查詢表、聯結表的相關內容。 一、子查詢 MySQL 4.1版本及以上支援子查詢 子查詢:巢狀在其他查詢中的查詢。 子查詢的作用: 1、進行過濾: 例項1:檢索訂購物品TNT2的所有客戶的ID = + 一般,在WHERE
MySQL巢狀查詢(子查詢)
巢狀查詢 定義:一個內層查詢語句(select-from-where)塊可以巢狀在另外一個外層查詢塊的where子句中,其中外層查詢也稱為父查詢,主查詢。內層查詢也稱子查詢,從查詢。子查詢一般不使用order by子句,只能對最終查詢結果進行排序。 另一種定義:在一個SEL
mysql必知必會--學習筆記(8)--子查詢 where巢狀查詢語句,作為計算欄位使用子查詢
1、子查詢的查詢過程一般是通過where中的in操作符來完成,in後面跟上一個子查詢,通常in之前的列名和子查詢查詢出來的列名是一致的。例如select name from book where id in (select book_id from store where s
mysql巢狀查詢
3.使用Exist和Not Exist引數 這裡的Exist和Not Exist用途及用法和在其他沒有什麼大的區別,我就簡單舉幾個範例好了: 範例一: SELECT DISTINCT store_type FROM Stores WHERE EXISTS (S
mysql 巢狀查詢
1. SELECT typeName, NAME, money, down_Url, plug1.* FROM plug1 WHERE NAME IN ( SELECT NA
【筆記】Mybatis高階查詢(小結)--巢狀查詢及延遲載入
<association>與<collection>標籤一對一、一對多,多對多查詢時用到的屬性 property:對應實體類中的屬性名,必填項。 javaType:屬性對應的型別。 resultMap:可以直接使用現有
【筆記】Mybatis高階查詢(五)--使用resultMap的<collection>進行巢狀查詢及延遲載入
下面例子通過<collection>實現一個通過使用者編號查詢使用者下面的角色及許可權的需求,支援延遲載入。下面以自下而上的過程來實現這樣的巢狀查詢功能。並且這個自下而上的過程中每一個方法都是獨立可用的方法。上層的結果都以下層方法為基礎。所有物件都設定為延遲載入。
【筆記】Mybatis高階查詢(三)--使用<association>標籤實現巢狀查詢及延遲載入
<association>標籤實現巢狀查詢,需要用到以下屬性: select:另一個對映查詢的ID,Mybatis會額外執行這個查詢獲取巢狀物件的結果。 column:列名或別名,將主查詢中列的結果作為巢狀查詢的引數,配置方式如column=
QSL match_phrase 巢狀查詢
match_phrase 巢狀查詢 { "query": { "bool": { "should": [ { "match_phrase": { "body": { "quer
mysql update where子查詢實現方式
mysql的update的一些特點 1、更新的表不能在set和where中子查詢; 2、可以對多個表進行更新(sqlserver不行); 如:update ta a,tb b set a.Bid=b.id ,b.Aid=a.id; 3、update 後面可
Mongoose使用populate進行多表巢狀及深層巢狀查詢功能
mongoose populate 文件欄位說明 path «Object|String» 需要做表關聯的欄位路徑,或者包含所有引數的物件 [select] «Object|String» 表關聯查詢要選擇的欄位 [model] 
mybatis之巢狀查詢association和collection
Mybatis association是用於一對一和多對一,而collection是用於一對多的關係 一. Association 1. 巢狀查詢實現association一對一 public class Card implements Serializable{ private In
一種讀取類csv格式字串/列表字典巢狀字串的方式
原始碼: import java.io.*; import java.util.*; //給定一個含有csv格式的字串,讀取其中的資訊 public class readcsv { //格式字串 private static char c0=','; //字典字串
sql巢狀查詢再進行連線
SELECT * from ( SELECT * from tit_training_program WHERE level_id=#{levelId}) as p LEFT JOIN( se
mongoDB巢狀查詢
文件如下: { "_id" : ObjectId("578f2122774326567ca82dfe"), "person" : {
mongodb多層巢狀查詢
> db.inventory.find( { "instock": { warehouse: "A", qty: 5 } } ) { "_id" : ObjectId("5943714f0429b8c7852eaf20"), "item" : "journal", "instock" : [ { "w
Mongodb巢狀查詢及修改
Mongodb各文件中對巢狀查詢的介紹不知道藏在哪個地方,反正我是沒找到,一個偶然的機會發現網上的一個帖子,終於知道了巢狀查詢的用法。於是乎我們應用中的一個問題也隨之被解決了。不說廢話了,現在說下巢狀查詢的使用。 假設mongodb中存在某個collections,其資料如