日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

QT学习:常用SQL命令

發布時間:2024/9/30 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT学习:常用SQL命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里簡單介紹以下在QT中常用的SQL命令,在之后將會新增一個分類專欄專門講數據庫。

一、SELECT語句

完備的SELECT語句很復雜,其主要的子句如下:

SELECT [DISTINCT] [別名.]字段名或表達式 [AS 列標題] /* 指定要選擇的列或行及其限定 */ //SELECT子句指出查詢結果中顯示的字段名,以及字段名和函數組成的表達式等。可用DISTINCT去除重復的記錄行;AS列標題指定查詢結果顯示的列標題。當要顯示表中所有字段時,可用通配符“*”代替字段名列表。 FROM table_source /* FROM子句,指定表或視圖 */ [ WHERE search_condition ] /* WHERE子句,指定查詢條件 */ [ GROUP BY group_by_expression ] /* GROUP BY子句,指定分組表達式 */ [ ORDER BY order_expression [ ASC | DESC ]] /* ORDER BY子句,指定排序表達式和順序 */ // GROUP BY子句和ORDER BY子句分別對查詢結果進行分組和排序。

其中,SELECT和FROM子句是不可缺少的。
下面用示例說明使用SQL語句對Student數據庫進行的各種查詢。
(1)查詢Student數據庫。查詢students表中每個同學的姓名和總學分。

USE Student SELECT name,score FROM students

(2)查詢表中所有記錄。查詢students表中每個同學的所有信息。

SELECT * FROM students

(3)條件查詢。查詢students表中總學分大于或等于90的同學的情況。

SELECT * FROM students WHERE score >= 90

(4)多重條件查詢。查詢students表中所在系為“計算機”且總學分大于或等于90的同學的情況。

SELECT * FROM students WHERE department='計算機' AND score >= 90

(5)使用LIKE謂詞進行模式匹配。查詢students表中姓“李”且單名的學生情況。

SELECT * FROM students WHERE name LIKE '李_'

(6)用BETWEEN…AND指定查詢范圍。查詢students表中不在1998年出生的學生情況。

SELECT * FROM students WHERE birthday NOT BETWEEN '1998-1-1' and '1998-12-31'

(7)空值比較。查詢學分尚不確定的學生情況。

SELECT * FROM students WHERE score IS NULL

(8)自然連接查詢。查找計算機系學生姓名及其“C++程序設計”課程的考試分數情況。

SLELCT name,grade FROM students, courses,grades, WHERE department = '計算機' AND coursename= ' C++程序設計' AND students.studentid = grades.studentid AND courses.courseid = grades.coursesid

(9)IN子查詢。查找選修了課程號為110的學生情況。

SELECT * FROM students WHERE studentid IN ( SELECT studentid FROM courses WHERE courseid = '110' )

在執行包含子查詢的SELECT語句時,系統首先執行子查詢,產生一個結果表,再執行外查詢。
(10)比較子查詢。這種子查詢可以認為是IN子查詢的擴展,它是表達式的值與子查詢的結果進行比較運算。查找課程號102的成績不低于課程號110的最低成績的學生學號。

SELECT studentid FROM grades WHERE courseid = '102' AND grade !< ANY ( SELECT grade FROM grades WHERE courseid = '110' )

(11)EXISTS子查詢。EXISTS謂詞用于測試子查詢的結果集是否為空表,若子查詢的結果集不為空,則EXISTS返回TRUE,否則返回FALSE。EXISTS還可與NOT結合使用,即NOT EXISTS,其返回值與EXISTS剛好相反。
查找選修110號課程的學生姓名。

SELECT name FROM students WHERE EXISTS ( SELECT * FROM grades WHERE studentid = students.studentid AND courseid = '206' )

(12)查找選修了全部課程的同學姓名(查找沒有一門功課不選修的學生)。

SELECT name FROM students WHERE NOT EXISTS ( SELECT * FROM courses WHERE NOT EXISTS ( SELECT * FROM grades WHERE studentid= students.studentid AND courseid=courses.courseid ) )

(13)查詢結果分組。將各課程成績按學號分組。

SELECT studentid,grade FROM grades GROUP BY studentid

(14)查詢結果排序。將計算機系的學生按出生時間先后排序。

SELECT * FROM students WHERE department = '計算機' ORDER BY birthday

二、常用聚合函數

在對表數據進行檢索時,經常需要對結果進行匯總或計算,如在學生成績數據庫中求某門功課的總成績、統計各分數段的人數等。聚合函數用于計算表中的數據,返回單個計算結果。常用的聚合函數見下圖:

(1)求選修課程110的學生的平均成績。

SELECT AVG(grade) AS ' 課程110平均成績' FROM grades WHERE courseid = '110'

(2)求選修課程110的學生的最高分和最低分。

SELECT MAX(grade) AS '課程110最高分' , MIN(grade) AS '課程110最低分' FROM grades WHERE courseid = '110'

(3)求學生的總人數。

SELECT COUNT(*) AS '學生總數' FROM students

總結

以上是生活随笔為你收集整理的QT学习:常用SQL命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。