oracle中sql語句小練習 使用連線查詢

2022-05-03 05:12:07 字數 606 閱讀 6933

假設a(m,n,p),b(m,n,p)

--1.a表中有某一項m而b表中沒有

使用左連線查詢:

select a.* from a a left join b b on a.m=b.m where b.m is null;

左連線查詢公共部分以及a表中的全部資料,b表中該列值為null的資料即為a中存在而b中不存在的結果。

--2.a表中沒有某一項m而b表中有

可改為使用右連線查詢:

select b.* from a a right join b b on a.m=b.m where a.m is null;

與上一條類似,只是這次判斷a表中不存在而b表中存在的結果,右連線查詢公共部分以及b表中的全部資料。

--3.查詢a表與b表中某一項m一致,而有其它項不一致的情況,其它幾項只要有一項滿足不一致則輸出查詢結果,sql語句如下:

select a.m,a.n,a.p,b.m,b.n,b.p from a a join b b on a.m=b.m where a.n<>b.n or a.p<>b.p;

使用了join...on...的連線查詢,在此語句中判斷不相等的語法為<>,在這裡也可寫為!=,此查詢為查詢兩個表共同的部分。

sql語句小練習二

1 建立乙個資料庫studentmanage,初始化大小10m,不足以1m每次增長 create database studentmanage on name studentmanage data filename d studentmanage data.mdf size 10mb,maxsize...

SQL語句練習

建立一張表,記錄 呼叫員的工作流水,記錄呼叫員編號,對方號碼,通話開始時間,結束時間。建表,插資料等都自己寫出sql 要求 輸出所有資料中通話時間最長的5條記錄。輸出所有資料中撥打長途號碼 對方號碼以0開頭 的總時長 輸出本月通話時長最多的前三個呼叫員的編號 輸出本月撥打 次數最多的前三個呼叫員的編...

SQL 語句練習

mysql select from persons limit 5 oracle select from persons where rownum 5 select from persons where name like l select from persons where name not l...