SQL Server 数据查询 --- 复杂查询
SQL Server 数据查询 --- 复杂查询 有需要的朋友可参考一下。
/********************************************
例1查询每个学生及其选修课程的情况
*********************************************/
代码如下 | 复制代码 |
SELECT STUDENT.*,SC.* FROM SC,STUDENT WHERE SC.SNO = STUDENT.SNO; |
/********************************************
对例1用自然连接完成
*********************************************/
代码如下 | 复制代码 |
SELECT STUDENT.SNAME,STUDENT.SSEX,STUDENT.SAGE,STUDENT.SDEPT,SC.* FROM SC,STUDENT WHERE SC.SNO = STUDENT.SNO; |
/*****************************************
查询每一门课程的间接先修课
*****************************************/
代码如下 | 复制代码 |
SELECT SY.CNO,SX.CPNO FROM COURSE SX,COURSE SY WHERE SX.CNO = SY.CPNO |
/********************************************
对例1用左外连接连接完成
*********************************************/
代码如下 | 复制代码 |
SELECT STUDENT.SNAME,STUDENT.SSEX,STUDENT.SAGE,STUDENT.SDEPT,SC.* FROM STUDENT LEFT JOIN SC ON(SC.SNO = STUDENT.SNO); |
/********************************************
查询每个学生的学号、姓名、选修的课程名及成绩 *********************************************/
代码如下 | 复制代码 |
SELECT STUDENT.SNO,STUDENT.SNAME,COURSE.CNAME,COURSE.CCREDIT |
/********************************************
查询与刘晨在同一个系学习的学生
*********************************************/
代码如下 | 复制代码 |
SELECT SX.* |
或者如下:
代码如下 | 复制代码 |
SELECT SX.* SELECT * |
/********************************************
查询选修了课程名为"信息系统"的学生学号和姓名 *********************************************/
代码如下 | 复制代码 |
SELECT SNO, SNAME FROM STUDENT WHERE SNO IN ( SELECT SNO FROM SC WHERE CNO IN ( SELECT CNO FROM COURSE WHERE CNAME = '信息系统' ) ); |
/********************************************
找出每个学生超过他选修课程平均成绩的课程号
*********************************************/
代码如下 | 复制代码 |
SELECT SX.SNO,SX.CNO /***************************************************** |
查询其他系中比计算机科学系某一学生年龄小的学生姓名和年龄
*******************************************************/
代码如下 | 复制代码 |
|
/*****************************************************
查询其他系中比计算机科学系所有学生年龄小的学生姓名和年龄
*******************************************************/
代码如下 | 复制代码 |
SELECT SNAME, SAGE FROM STUDENT WHERE SAGE SELECT SAGE FROM STUDENT WHERE SDEPT='CS' ) AND SDEPT'CS'; |
/*****************************************************
查询所有选修了1号课程的学生姓名
*******************************************************/
代码如下 | 复制代码 |
|
/******************************************
查询选修了全部课程的学生姓名
*******************************************/
代码如下 | 复制代码 |
SELECT SNAME FROM STUDENT WHERE NOT EXISTS ( SELECT * FROM COURSE WHERE NOT EXISTS ( SELECT * FROM SC WHERE STUDENT.SNO = SC.SNO AND COURSE.CNO = SC.CNO ) ); |
/*****************************************************
查询至少选修了学生200215122选修的全部课程的学生号码
*****************************************************/
代码如下 | 复制代码 |
SELECT DISTINCT SNO FROM SC X WHERE NOT EXISTS ( SELECT * FROM SC Y WHERE SNO='200215122' AND NOT EXISTS ( SELECT * FROM SC Z WHERE Z.SNO = X.SNO AND Y.CNO = Z.CNO ) ); |
/**********************************************************
从自身表中选择一条记录,修改某个字段再回插到自身表中
这里的INSERT INTO 可以用来插入子查询 *********************************************************/
代码如下 | 复制代码 |
INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) |

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

HQL和SQL在Hibernate框架中進行比較:HQL(1.物件導向語法,2.資料庫無關的查詢,3.類型安全),而SQL直接操作資料庫(1.與資料庫無關的標準,2.可執行複雜查詢和資料操作)。

《OracleSQL中除法運算的用法》在OracleSQL中,除法運算是常見的數學運算之一。在資料查詢和處理過程中,除法運算可以幫助我們計算欄位之間的比例或得出特定數值的邏輯關係。本文將介紹OracleSQL中除法運算的用法,並提供具體的程式碼範例。一、OracleSQL中除法運算的兩種方式在OracleSQL中,除法運算可以用兩種不同的方式來進行

Oracle和DB2是兩個常用的關聯式資料庫管理系統,它們都有自己獨特的SQL語法和特性。本文將針對Oracle和DB2的SQL語法進行比較與區別,並提供具體的程式碼範例。資料庫連接在Oracle中,使用以下語句連接資料庫:CONNECTusername/password@database而在DB2中,連接資料庫的語句如下:CONNECTTOdataba

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

SQL中的Identity是什麼,需要具體程式碼範例在SQL中,Identity是一種用於產生自增數字的特殊資料類型,它常用於唯一識別表中的每一行資料。 Identity欄位通常與主鍵列搭配使用,可確保每筆記錄都有獨一無二的識別碼。本文將詳細介紹Identity的使用方式以及一些實際的程式碼範例。 Identity的基本使用方式在建立表格時,可以使用Identit

解決方法:1、檢查登入使用者是否具有足夠的權限來存取或操作該資料庫,確保該使用者俱有正確的權限;2、檢查SQL Server服務的帳戶是否具有存取指定檔案或資料夾的權限,確保該帳戶具有足夠的權限來讀取和寫入該文件或資料夾;3、檢查指定的資料庫文件是否已被其他進程打開或鎖定,嘗試關閉或釋放該文件,並重新運行查詢;4、嘗試以管理員身份運行Management Studio等等。

如何使用SQL語句在MySQL中進行資料聚合和統計?在進行資料分析和統計時,資料聚合和統計是非常重要的步驟。 MySQL作為一個功能強大的關聯式資料庫管理系統,提供了豐富的聚合和統計函數,可以很方便地進行資料聚合和統計操作。本文將介紹使用SQL語句在MySQL中進行資料聚合和統計的方法,並提供具體的程式碼範例。一、使用COUNT函數進行計數COUNT函數是最常用

資料庫技術大比拼:Oracle和SQL的差別有哪些?在資料庫領域中,Oracle和SQLServer是兩種備受推崇的關聯式資料庫管理系統。儘管它們都屬於關係型資料庫的範疇,但兩者之間存在著許多不同之處。在本文中,我們將深入探討Oracle和SQLServer之間的區別,以及它們在實際應用中的特徵和優勢。首先,Oracle和SQLServer在語法方面存
