多表查詢sql語句

来源:https://www.cnblogs.com/Remedy/archive/2018/06/01/9122911.html
-Advertisement-
Play Games

多表查詢sql語句 1 --解鎖SCOTT用戶 2 alter user scott account unlock 3 --檢索指定的列 4 select job,ename,empno from emp; 5 --帶有表達是的select子句 6 select sal*(1+0.2),sal fr ...


多表查詢sql語句
 1 --解鎖SCOTT用戶
 2 alter user scott account unlock
 3 --檢索指定的列
 4 select job,ename,empno from emp;
 5 --帶有表達是的select子句
 6 select sal*(1+0.2),sal from emp;
 7 --顯示不重覆的記錄
 8 select distinct job from emp;
 9 --比較篩選   <> =
10 select empno,ename,sal from emp where sal>1000;
11 select empno,ename,JOB from emp;
12 select empno,ename,sal from emp where sal <>all(3000,950,800);
13 --特殊關鍵字篩選
14 --like  模糊查詢
15 select empno,ename,job from emp where JOB like '%S';
16 --IN   --varchar
17 select empno,ename,job from emp where job in('PRESIDENT','MANAGER','ANALYST');
18 --NOT IN
19 select empno,ename,job from emp where job not  in('PRESIDENT','MANAGER','ANALYST') ;
20 --BETWEEN   -numer ,inter
21 select empno,ename,sal from emp where sal between 2000 and  3000;
22 --NOT BETWEEN
23 select empno,ename,sal from emp where sal  NOT between 2000 and  3000;
24 --IS NULL/  is not null
25 select * from emp where comm is NOT  null;
26 --邏輯篩選
27 --and   ,or,not       關係 於  -或  --非
28 select empno,ename,sal from emp where (sal>=2000  and sal<=3000 ;
29 select empno,ename,sal from emp where sal<2000  or sal>3000 ;
30 --分組查詢
31 select deptno,job from emp group by deptno,job order by deptno ;
32 select deptno as 部門編號,avg(sal) as 平均工資 from emp group by deptno;
33 select deptno as 部門編號,avg(sal) as 平均工資 from emp group by deptno having avg(sal)>2000; --group by 子條件 having 
34 --排序查詢Order by;  desc:逆序  asc預設
35 select deptno,empno,ename from emp order by deptno,EMPNO;

 

多表查詢sql語句七種示例圖 在創建關係型數據表時,根據資料庫範式的要求,為了降低數據的冗餘,提供數據維護的靈活性 將數據分成多個表進行存儲,實際工作當中,需要多個表的信息,需要將多個表合併顯示  

 多表查詢sql語句 代碼

 1 --內連接
 2 select e.empno as 員工編號, e.ename as 員工名稱, d.dname as 部門 
 3 from emp e inner join dept d on e.deptno=d.deptno;         
 4  
 5 --左外連接
 6 insert into emp(empno,ename,job) values(9527,'EAST','SALESMAN');
 7         
 8 select e.empno,e.ename,e.job,d.deptno,d.dname from emp e left join dept d
 9 on e.deptno=d.deptno;
10 --右外連接
11 select e.empno,e.ename,e.job,d.deptno,d.dname from emp e right join dept d
12 on e.deptno=d.deptno;
13 
14 --完全連接
15 select e.empno,e.ename,e.job,d.deptno,d.dname from emp e full join dept d
16 on e.deptno=d.deptno;
17 
18 --自然連接(共有的屬性,會去除重覆列)
19 select empno,ename,job,dname from emp natural join dept where sal>2000;
20 
21 事務如果不提交,會一直寫入以下表空間;
22 redo(記錄日誌表空間)  undo(記錄日誌備份表空間)
23 提交:  commit    回滾: rollback
24 
25 --右外連接過濾
26 select * from emp e right join dept d on e.deptno=d.deptno
27 where e.deptno is null;
28 --左外連接過濾
29 select * from emp e left join dept d on e.deptno=d.deptno
30 where d.deptno is null;
31 --全外連接過濾
32 select * from emp e full join dept d on e.deptno=d.deptno 
33 where d.deptno is null or e.deptno is null;
34 
35 
36 /*自連接(self join)是SQL語句中經常要用的連接方式,使用自連接可以將自身表的一個鏡像當作另一個表來對待,從而能夠得到一些特殊的數據。
37 在emp中的每一個員工都有自己的mgr(經理),並且每一個經理自身也是公司的員工,自身也有自己的經理。*/
38 select em2.enname 管理者,em1.enname  下屬員工 from  emp em1 left  join  emp em2 on  em1.mgr=em2.empno order by em1.mgr;
39 
40  /*交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數*/
41        select count(*)  from dept cross join emp;  

 ROWNUM偽列

 1 select rownum,empno,ename  from emp where deptno=20;
 2 --返回emp表中前5個員工消息
 3 select rownum seq,empno,ename,sal from emp where rownum<=5;
 4 
 5 --查詢emp表中2條到第5條的數據
 6 select rownum seq,empno,ename,sal from emp where rownum>=2 and rownum<=5;
 7 
 8 /*ROWNUM列值會被重置所致,比如在取第1行,where子條件不成立,第1行被丟棄,
 9 但是取下一行時,ROWNUM會被重置為1,而不是2, 導致,ROWNUM永遠無法取到正確的值
10 無法返回 任何行數據*/
11 select * from emp;
12 select seq,empno,ename,sal from (select rownum seq,empno,ename,sal from emp)
13 where seq>=2 and seq<=5
  外鍵約束的作用 
外鍵是該表是另一個表之間聯接的欄位 外鍵必須為另一個表中的主鍵 外鍵的用途是確保數據的完整性。它通常包括以下幾種: 實體完整性,確保每個實體是唯一的(通過主鍵來實施)   1 域完整性,確保屬性值只從一套特定可選的集合里選擇 2 關聯完整性,確保每個外鍵或是NULL(如果允許的話)或含有與相關主鍵值相配的值    
有外鍵約束的表CRUD操作

  1   增加數據:先插入外表,再插入主表
  2   刪除數據:先刪除主表再刪除外表,
  3   有對應記錄的值,不能修改當前列;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 鄭重承諾:該激活軟體沒有病毒,有任何侵害行為,找我QQ:122317653 Step one: 首先你需要安裝KMS Auto Net激活器,但我們都知道一些殺毒軟體都會將此類激活器警告成木馬病毒,原因:嘿嘿,讓你激活了,windows豈不是虧了?所以,你需要先關閉殺毒軟體,比如360,你需要在右下 ...
  • 不同linux系統,相關軟體是否安裝,會讓iptables的某些命令不能執行,這裡收集了大多數iptables命令,不管是Ubuntu還是Centos,都能找到相關的修改、查詢、保存命令。 ...
  • 1:右鍵菜單點"標記"; 2:按住左鍵選文字; 3:選完右鍵點一下! (關鍵一步,只需點一下就好!!) so 待選文字就跑到剪切板上了 ...
  • 資料庫表和值 -- 4、查詢沒學過關羽老師課的同學的學號、姓名 步驟一SELECT c.id FROM teacher t,course c WHERE t.id=c.teacher_id AND t.name="關羽" 步驟二 SELECT DISTINCT s.id FROM student s ...
  • 10-1 elasticsearch介紹 目前在使用es的大公司: https://www.elastic.co/use-cases Mongodb redis 在 elasticsearch面前就是一個玩笑 哈哈! 10-2 elasticsearch安裝 10-3elasticsearch-he ...
  • 需要學習的同學可以通過網盤下載pdf: http://tadown.com/fs/dyib0ensehucedd08/內容簡介 · · · · · · mongodb如何幫你管理通過web應用收集的海量數據呢?通過本書的權威解讀,你會瞭解面向文檔資料庫的諸多優點,會發現mongodb如此穩定、性能優 ...
  • 一、準備 1、關閉cdh中的服務 hdfs、yarn等所有服務;關閉 cm-server、cm-agent;備份cm元資料庫。 2、下載 CDH-5.13.3-1.cdh5.13.3.p0.2-el7.parcel CDH-5.13.3-1.cdh5.13.3.p0.2-el7.parcel.sha ...
  • DBUtils 學習使用 commons-dbutils簡介 commons-dbutils是Apache組織提供的一個開源JDBC工具類庫,它是對JDBC的簡單封裝,學習成本極低,並且使用dbutils能極大簡化jdbc編碼的工作量,同時也不會影響程式的性能。因此dbutils成為很多不喜歡hib ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...