關於MySQL中select (select...) from ... 查詢
直接上例子:
新建A表結構及數據如下:
新建B表結構及數據如下:
其中:B表和A表是一對多的關系(1:n),B表的主鍵是A表的外鍵
SELECT A.ha, (SELECT B.haha FROM B WHERE B.id2 = A.id2 ) AS haha FROM A;
結果為:
這意味著:在A表中取字段,同時取B表中的字段作為其中一個字段顯示。
其中,子句的查詢結果並不影響原來A的記錄條數。比如:
SELECT A.ha, (SELECT B.haha FROM B WHERE B.id2 = A.id2 AND B.haha = "1") AS haha FROM A;
結果為:
關於MySQL中select (select...) from ... 查詢
相關推薦
【數據庫系列】MySql中的select的鎖表範圍
nbsp 範圍 nod 指定 lock 無數據 才會 rdb sele 由於InnoDB預設的是Row-Level Lock,只有明確指定主鍵的時候MySql才會執行Row lock,否則MySql將會執行Table Lock. 1、明確指定主鍵則是行鎖 2、明確指定主鍵,
MySQL中的select結果按時間排序
我要建有個記錄金幣流通訊息的記錄表user_recharge_record。其中rechargeTime是一個型別為timestamp的欄位,系統會預設其儲存記錄最後被修改的時間 欄位名 資料型別 長度 預設
Mysql中使用select into語句給變數賦值沒有匹配記錄時的結果
前言 對select into語句感興趣是因為看了專案中的一個儲存過程引起的,在程式執行之前看了儲存過程的邏輯,本以為沒有資料時會報錯,結果程式卻正常執行,這說明我對select into語句理解的問題,同時也暴露了一個知識盲點,所以寫了個小例子測試一下,並把測
mysql中 insert …select …帶來的死鎖問題
mysql中 insert …select …帶來的問題 當使用insert...select...進行記錄的插入時,如果select的表是innodb型別的,不論insert的表是什麼型別的表,都會對select的表的紀錄進行鎖定。 對於那些從oracle遷移過來的應用
mysql中update+select
mys concat clas bsp source 但是 更新問題 mysql bold mysql中不支持嵌套查詢後更新操作。 但是可以使用inner join來解決自身的更新問題,參考如下例子: update hera_job a inner join( s
mysql中的多行查詢結果合並成一個(轉)
get asc 數據 利用 sel tor _id and ont SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND
mysql中 show index from tb_name命令各列的含義
mysql indexshow index from table_name這個命令有助於診斷性能低下的查詢,尤其是查詢是否使用了可用的索引。下面介紹下 這個命令顯示的結果列的含義:| Table | Non_unique | Key_name | Seq_in_index | Column_name | Co
淺談MySQL中優化sql語句查詢常用的30種方法
系統資源 all 數據量過大 連續 don 問題 not sele 客戶端 1.對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用
淺談 MySQL 中優化 SQL 語句查詢常用的 30 種方法
個數 尋找 情況 don union all 子句 set 其他 算術 1、對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2、應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引
MySQL中的單表查詢語句彙總
一查詢數值型資料: SELECT * FROM tb_name WHERE sum > 100; 查詢謂詞:>,=,<,<>,!=,!>,!<,=>,=<
MySQL中的簡單資料查詢
查詢: 一:查詢所有資料 select * from Info 查所有資料 select Code,Name from Info 查特定列 二:根據條件查 select * from Info where Code='p001' 一個條件查詢 select * from Info where Cod
MySQL中優化sql語句查詢常用的方法
1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。 3.應儘量避免在 where 子句中對欄位進行 null 值
mysql中的連接查詢
ger 交叉連接 group 卡爾 原因 ons location 名稱 count /* 含義:又稱多表查詢,當查詢的字段來自於多個表時,就會用到連接查詢 笛卡爾乘積現象:表1 有m行,表2有n行,結果=m*n行 發生原因:沒有有效的連接條件 如何避免:添加有效的連接條件
013-- mysql常用的查詢優化方法 淺談MySQL中優化sql語句查詢常用的30種方法
淺談MySQL中優化sql語句查詢常用的30種方法 1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全
Mysql中通過processlist方式查詢Mysql資料庫當前連線的使用者及會話資訊
在Mysql中,可以通過如下方式查詢Mysql資料庫當前連線的使用者及會話資訊:1. show full processlist mysql> show full processlist; +----------+-----------+---------------
mysql中的多表查詢基礎
1:多表查詢: 員工表(employee):(deptid:部門號) id name deptid 1 張三 4 2 李四 5 3 王五 4 4 陳六 5 部門表(dept): id name 4 軟體開發部 5 軟體維護部 6 祕書部 需求:員工及其部門 select
MySQL中的多表查詢和子查詢
多表查詢 合併查詢 合併查詢 UNION 關鍵字 SELECT 欄位名 FROM 表1名 UNION SELECT 欄位名 FROM 表2名; 返
MySQL中min和max查詢優化
MySQL max() 函式的需掃描where條件過濾後的所有行: 在測試環境中重現: 測試版本:Server version: 5.1.58-log MySQL Community Server (GPL) testtable表中的索引 mysq
MySQL中的多表查詢
MySQL中的多表查詢 單表查詢一般不能滿足專案的需求,在真實的開發過程中,有很多需求都是要涉及到多表查詢, 在此總結一下MySQL中的多表查詢: 一、內連線查詢 指所有的查詢出的結果都能在連線表中有對應的記錄; 以員工表和部門表為例: element表: departme
mysql中的多行查詢結果合併成一個
SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17: 利用函式:group_concat(