MySQl學習筆記(子查詢)

2021-09-10 23:42:33 字數 1357 閱讀 7756

修改資料表

新增單列:

alter table tbl_name add [column] col_name column_definition [first|after col_name];//省略first|after col_name將預設你所新增的列位於所有列的最後面

例:alter  table  user  add  age  tinyint  unsigned  default  20;
新增多列:

alter table tbl_name add [column](col_name column_definition,…);

刪除列:

alter table tbl_name drop [column] col_name;

例:alter  table  user  drop  password,drop  age;
子查詢(subquery)是指出現在其它sql語句中的select子句

select * from t1 where col1 = (select col2 from t2);

其中select * from t1,稱為quter query/outer statement

select col2 from t2,稱為子查詢(subquery)

子查詢指巢狀在查詢內部,且必須始終出現在圓括號內。

子查詢可以包含多個關鍵字或條件,

如distinct,group by,order by,limit,函式等

子查詢的外層查詢可以是:select,insert,update等

子查詢返回值:子查詢可以返回標量,一行,一列或子查詢

由比較運算子(>,<,>=,<=,!=,<>等)引發的子查詢

用any,some或all修飾的比較運算子

關鍵字any

some

all>,>=

最小值最小值

最大值<,<=

最大值最大值

最小值=

任意值任意值

!=,<>

任意值

例:select  goods_name  from  tdb_goods  where  goods_price  >  any  (select  goods_price  from  tdb_goods  where  goods_ctae  ="遊戲本");

//查詢 tdb_goods表中**大於任一且種類為遊戲本的商品名字

由[not] in/exists引發的子查詢

in / not in顧名思義在裡面或不在裡面

如果子查詢返回任何行,exists將返回true,否則為false;

MySQL學習筆記 子查詢

子查詢是將乙個查詢語句巢狀在另乙個查詢語句中。內層查詢語句的查詢結果,可以作為外層查詢語句提供條件。insert into tbl name col name,select.create table if notexists tbl name create definition,select sta...

MySQL學習筆記(5)子查詢

測試子查詢 測試由in引發的子查詢 select from emp where depid in select id from dep select from emp where depid not in select id from dep 由exists 引發的子查詢 select from e...

(MySQL筆記)MySQL子查詢

mysql的select語句中支援子查詢。子查詢是將乙個select語句的查詢結果作為中間結果,供另乙個select語句查詢呼叫,子查詢也叫做子選擇或者巢狀選擇。如 select studentno from select studentno,from student where age 18 as...