多表資料記錄查詢

2021-07-10 14:39:05 字數 1414 閱讀 2184

一、內連線查詢(等值查詢)

select p.pame peoplename,p.job,t.tname tname from  t_pepole p , t_pepole  t  where  p.mgr=t.empno;

二、合併查詢

select  a.*** ***  from  t_acat  a  union  select b.*** as *** from  t_bcat b;

三、子查詢(返回結果為單行單列子查詢)

當子查詢的返回結果為單行單列資料記錄時,該子查詢語句一般會在主查詢語句的where子句裡,通常會包含比較運算符號(「>」、「<」、「=」、「!=」等)。

select *

from t_people

where age>(

select age

from t_people

where pname='tom');

四、子查詢(返回結果為單行多列子查詢)

where子句中的子查詢除了是返回單行單列的資料記錄外,還可以是返回單行多列的資料記錄。

select pname,age,job

from t_people

where (age,job)=(

select age,job

from t_people

where pname='tom');

五、返回結果為多行單列子查詢(帶有關鍵字in的子查詢)

當主查詢的條件是子查詢的查詢結果中時,就可以通過關鍵字in來進行判斷。相反如果想實現主查詢的條件不是子查詢的查詢結果中時,就可以通過關鍵字not in來進行判斷。

select *

from t_people

where dept in (

select deptid

from t_deptinfo

);六、返回結果為多行單列子查詢(帶有關鍵字any的子查詢)

select pname,age

from t_people

where age>any(

select age

from t_people

where age=25

);七、返回結果為多行單列子查詢(帶有關鍵字all的子查詢)

select pname,age

from t_people

where age>all(

select age

from t_peple

where age=23

);八、返回結果為多行單列子查詢(帶有關鍵字exists的子查詢)

select *

from t_deptinfo dept

where exists(

select *

from t_person

where deptid=dept.deptid);

多表查詢資料

從多個表中查詢資料的時候,在while迴圈中,如何設定值呢?sql select a.tname,b.tname from a a,b b 第一種方法 listlist new arraylist while rs.next 但是取值的時候比較麻煩,需要判斷是哪乙個實體類。if tmaterialp...

多表查詢 多表查詢 多表查詢

查詢語法 select 列表名稱 from 表明列表 where 笛卡爾積 有兩個集合a,b,取這兩個集合的所有組成情況 要完成多表查詢,需要消除無用的資料 多表查詢分類 1 內連線查詢 1 隱式內連線 使用where消除無用的資料 例子 select t1.name,t1.gender,t2.na...

SQL基礎 查詢資料 多表查詢

select查詢不僅可以查詢一張表,還可以從多張表同時查詢資料 語法select from 表1 表2 同時查詢students表和classes表的 例項select from students,classes 查詢結果 一次查詢兩個表,查詢結果同樣是乙個二維表。它是students表和class...