一、內連線查詢(等值查詢)
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...