mysql查詢深入 Mysql查詢 深入學習

2021-10-19 00:19:09 字數 1629 閱讀 1567

1、開篇

在學習的過程中我們一起進步,成長。有什麼寫的不對的還望可以指出。

2、查詢

(1)多表之間的查詢(笛卡爾積) 100* 100 = 10000   查詢的資料量可能非常大

給表名取別名

(2)關聯查詢

隱示內連線查詢。

(sql92)

內連線查詢。

(sql99)

left join on

如果我寫 left join on  就以左表為主

right join on

如果我寫 right join on  就以右表為主

例如:select

t1.id id,

t1.order_id as designorderid,

t1.manager_id,

t1.project_name projectname,

t1.user_name username,

t1.user_phone userphone,

t1.work_price workprice,

t1.type_id typeid,

t1.create_time createtime,

t1.update_time updatetime,

t1.project_start_time starttime,

t1.project_end_time endtime,

t1.status status,

t3.meet_time meettime,

t3.meet_type meettype,

t3.meet_content meetcontent,

t5.total totalmain,

t6.total totalsub

from pj_project_order t1 left join  pj_design_order t2 on t1.order_id = t2.id

left join pj_order_comm_record t3 on t2.id = t3.order_id

left join pj_order_design_task t4 on t2.id = t4.order_id

left join pj_order_design_main_material t5 on t4 .id = t5.task_id

left join pj_order_design_sub_material t6 on t4.id = t6.task_id

where 1=1

and t1.manager_id = #

andt1.project_start_time is not null

andt1.project_end_time is null

(3)子查詢  -我們以一條查詢結果 做為查詢條件這叫做子查詢 --------------子查詢的效率不高

select * from person where id = 1

select pid from car where carname='hanma'

select * from person where id = ( select pid from car where carname='hanma' );

(4)union  結合兩個查詢集

Mysql查詢 深入學習

1 開篇 在學習的過程中我們一起進步,成長。有什麼寫的不對的還望可以指出。2 查詢 1 多表之間的查詢 笛卡爾積 100 100 10000 查詢的資料量可能非常大 給表名取別名 2 關聯查詢 隱示內連線查詢。sql92 內連線查詢。sql99 left join on 如果我寫 left join...

mysql優化的查詢語句 優化MySQL查詢語句

前言 查詢語句的優化是sql效率優化的乙個方式,可以通過優化sql語句來盡量使用已有的索引,避免全表掃瞄,從而提高查詢效率。最近在對專案中的一些sql進行優化,總結整理了一些方法。1 盡量避免在 where 子句中對字段進行 null 值判斷 應盡量避免在 where 子句中對字段進行 null 值...

mysql 分區間查詢 MySQL區間分組查詢

假設a表為會員資訊表,需要統計男性會員年齡各階段的出現的人數 create table a id int 11 unsigned not null auto increment,name varchar 255 not null default comment 會員名稱 tinyint 1 unsi...