1. 程式人生 > >SQL語句查詢技巧 如何多表查詢

SQL語句查詢技巧 如何多表查詢

tip:聚合函式只能用在select或者having條件之後。

用limit取代子查詢

適用於查詢最大,最小值的情況。比如

查詢Score表中的最高分的學生學號和課程號。

可以先查出最高分的的分值然後再條件查詢

select
  sno,
  cno
from score
where degree = (select max(degree)
                from score);

用limit取代之後:

select
  sno,
  cno
from score
order by degree
limit 0, 1;

免去了子查詢,效能更高,更簡潔。

多表查詢技巧

要想進行多表查詢,先生成表關係。

然後看條件

比如:#查詢“張旭“教師任課的學生成績。

要查詢的是 成績那我們就

select degree

通過誰查成績呢,通過 教師 查成績,從表關係可以看出,從教師到成績需要經過3張表。那我們就

from score s, course c, teacher t

既然 合併表,就要去笛卡兒積

where s.cno = c.cno and t.tno = c.tno

最後加上條件 教師的名稱為“張旭”

and tname='張旭'

最後合併的語句就是

select degree
from score s, course c, teacher t
where s.cno = c.cno and t.tno = c.tno and tname='張旭'

查詢完畢。

簡單SQL多表查詢基本都是這個套路。