wordpress授權登錄界面深圳百度seo怎么做
完整代碼在文章末尾
在上次實驗創(chuàng)建的educ數(shù)據(jù)庫基礎上,用SQL語句為student表、course表和sc表中添加以下記錄
【SQL實驗】數(shù)據(jù)庫、表、模式的SQL語句操作_創(chuàng)建一個名為educ數(shù)據(jù)庫,要求如下: (下面三個表中屬性的數(shù)據(jù)類型需要自己設計合適-CSDN博客在這篇博文中已經(jīng)完成了數(shù)據(jù)庫的創(chuàng)建以及educ
數(shù)據(jù)庫內(nèi)三張表的創(chuàng)建,但這些表目前是空的,沒有數(shù)據(jù)。
通過INSERT
語句向這三張表中插入數(shù)據(jù)(可以自行減少數(shù)據(jù)量和數(shù)據(jù)內(nèi)容)
INSERT INTO student (sno, sname, ssex, sage, sdept)
VALUES
('Y71814001', '陳靖', '男', 20, '互聯(lián)網(wǎng)學院'),
('Y71814003', '江宏', '男', 20, '互聯(lián)網(wǎng)學院'),
('Y71814006', '洪增志', '男', 19, '互聯(lián)網(wǎng)學院'),
('Y71814008', '程熙', '男', 18, '互聯(lián)網(wǎng)學院'),
('Y72014019', '李越', '男', 21, '計算機學院'),
('Y72014020', '唐子恒', '男', 18, '計算機學院'),
('Y72014040', '朱凱', '男', 17, '計算機學院'),
('Y72014041', '李哲', '男', 17, '電子工程學院'),
('Y72014050', '李原春', '女', 18, '電子工程學院'),
('Y72014056', '周曉瑞', '女', 19, '電子工程學院');INSERT INTO course (cno, cname, cpno, ccredit)
VALUES
('01', '計算機導論', NULL, 2),
('02', 'C語言', '01', 2),
('03', '離散數(shù)學', '02', 2),
('04', '數(shù)據(jù)結構', '02',NULL),
('05', '數(shù)據(jù)庫原理及應用', '04', 3),
('06', '操作系統(tǒng)', NULL, 2);INSERT INTO sc (sno, cno, grade)
VALUES
('Y71814001', '01', 97),
('Y71814003', '01', 85),
('Y71814006', '01', 75),
('Y71814008', '01', 80),
('Y71814001', '02', 97),
('Y71814003', '02', 92),
('Y71814006', '02', 80),
('Y71814008', '02', 87),
('Y71814001', '03', 89);
INSERT INTO
語句添加數(shù)據(jù)
基本語法
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
(1)在student中查找“互聯(lián)網(wǎng)學院”所有學生的姓名、學號、所在院系信息
SELECT sname, sno, sdept
FROM student
WHERE sdept = '互聯(lián)網(wǎng)學院';
SELECT
是用于查詢數(shù)據(jù)庫的關鍵字。它用于指定要查詢的列FROM
指定從哪個表中檢索數(shù)據(jù)WHERE
子句用于指定篩選條件
運行結果:
(2)在student中找出2個姓李的學生的學號、姓名和所在院系,并按照學號大小排序
SELECT top 2 sno, sname, sdept
FROM student
WHERE sname LIKE '李%'
ORDER BY sno;
?TOP 2
表示只返回查詢結果的前兩行數(shù)據(jù)
LIKE
:用于進行模糊查詢,允許使用通配符搜索
'李%'
:表示查找姓 "李" 的學生,%
是通配符,表示姓 "李" 后可以跟任意字符
ORDER BY
:用于對查詢結果進行排序(默認情況下為升序)
運行結果:
(3)在student中找出學號包含‘1914’的且年齡在19到21歲之間的女生信息
SELECT *
FROM student
WHERE sno LIKE '%1914%' AND sage BETWEEN 19 AND 21 AND ssex = '女';
?AND
:用于組合多個條件,表示這些條件必須全部滿足
BETWEEN ... AND ...
包括指定的起始和結束值【查詢的結果會包含邊界值】
運行結果:
(4)在student中找出互聯(lián)網(wǎng)學院和電子工程學院年齡小于20的所有學生信息
SELECT *
FROM student
WHERE sdept IN ('互聯(lián)網(wǎng)學院', '電子工程學院') AND sage < 20;
*
:表示選擇表中的所有列
IN
:用于匹配多個值,等價于 OR
的組合
運行結果:
(5)查詢Student表中互聯(lián)網(wǎng)學院學生數(shù)量
SELECT COUNT(*)
FROM student
WHERE sdept = '互聯(lián)網(wǎng)學院';
?COUNT(*)
:這是一個聚合函數(shù),用于計算符合條件的記錄的總數(shù)。*
表示計數(shù)所有記錄,無論這些記錄的列值是否為 NULL
運行結果:
(6)查詢Student表中院系種類
SELECT DISTINCT sdept
FROM student;
DISTINCT
:用于去除查詢結果中的重復記錄,只返回唯一的值。它確保結果集中每個值都是不同的
運行結果:
(7)按照所在院系分類,統(tǒng)計出每個院系的學生數(shù)量
SELECT sdept, COUNT(*) AS 每個院系的學生數(shù)量
FROM student
GROUP BY sdept;
AS 每個院系的學生數(shù)量
:為 COUNT(*)
結果指定一個別名,使得返回結果的列名更具可讀性
GROUP BY
:用于將結果集按指定的列分組
運行結果:
(8)按照所在院系分類,統(tǒng)計出除互聯(lián)網(wǎng)學院之外的其他學院的學生數(shù)量及名稱
SELECT sdept, COUNT(*) AS 每個院系的學生數(shù)量
FROM student
WHERE sdept != '互聯(lián)網(wǎng)學院'
GROUP BY sdept;
運行結果:
(9)計算‘02’號課程的平均成績
SELECT AVG(grade) AS 平均成績
FROM sc
WHERE cno = '02';
AVG(grade)
:聚合函數(shù),用于計算指定列的平均值
運行結果:
(10)求各個課程號及相應的選課人數(shù)
SELECT cno, COUNT(*) AS 選課人數(shù)
FROM sc
GROUP BY cno;
運行結果:
(11)求每門課程的平均成績
--從 sc
表中計算每個課程的平均成績,并返回每個課程號及其對應的平均成績
SELECT cno, AVG(grade) AS 平均成績
FROM sc
GROUP BY cno;
運行結果:
(12)求有成績的每個學生的平均成績
SELECT sno, AVG(grade) AS 平均成績
FROM sc
WHERE grade IS NOT NULL
GROUP BY sno;
grade IS NOT NULL
:只考慮成績不為空的記錄。只會計算有成績的學生,排除掉成績?yōu)?NULL 的記錄。?
運行結果:
(13)求平均成績大于86分的學生學號及平均成績
SELECT sno, AVG(grade) AS 平均成績
FROM sc
GROUP BY sno
HAVING AVG(grade) > 86;
HAVING
:用于對 GROUP BY
結果進行篩選。與 WHERE
不同,HAVING
是在聚合操作完成后應用的?
運行結果:
(14)查詢至少選修了2門課程(含2門)的學生的學號和平均成績,并根據(jù)平均成績進行降序排序
SELECT sno, AVG(grade) AS 平均成績
FROM sc
GROUP BY sno
HAVING COUNT(cno) >= 2
ORDER BY 平均成績 DESC;
DESC
:降序排列
運行結果:
(15)查詢男同學的姓名和出生年份
運行結果:
SELECT sname, (GetDate() - sage) AS 出生年份
FROM student
WHERE ssex = '男';
(GetDate() - sage)
:計算表達式。計算當前日期 (GetDate()
) 和學生年齡 (sage
) 之間的差值
GetDate():
當前日期
SELECT sname, (YEAR(GetDate()) - sage) AS 出生年份
FROM student
WHERE ssex = '男';
?YEAR(GetDate())
:提取當前日期的年份
INSERT INTO student (sno, sname, ssex, sage, sdept)
VALUES
('Y71814001', '陳靖', '男', 20, '互聯(lián)網(wǎng)學院'),
('Y71814003', '江宏', '男', 20, '互聯(lián)網(wǎng)學院'),
('Y71814006', '洪增志', '男', 19, '互聯(lián)網(wǎng)學院'),
('Y71814008', '程熙', '男', 18, '互聯(lián)網(wǎng)學院'),
('Y72014019', '李越', '男', 21, '計算機學院'),
('Y72014020', '唐子恒', '男', 18, '計算機學院'),
('Y72014040', '朱凱', '男', 17, '計算機學院'),
('Y72014041', '李哲', '男', 17, '電子工程學院'),
('Y72014050', '李原春', '女', 18, '電子工程學院'),
('Y72014056', '周曉瑞', '女', 19, '電子工程學院');INSERT INTO course (cno, cname, cpno, ccredit)
VALUES
('01', '計算機導論', NULL, 2),
('02', 'C語言', '01', 2),
('03', '離散數(shù)學', '02', 2),
('04', '數(shù)據(jù)結構', '02',NULL),
('05', '數(shù)據(jù)庫原理及應用', '04', 3),
('06', '操作系統(tǒng)', NULL, 2);INSERT INTO sc (sno, cno, grade)
VALUES
('Y71814001', '01', 97),
('Y71814003', '01', 85),
('Y71814006', '01', 75),
('Y71814008', '01', 80),
('Y71814001', '02', 97),
('Y71814003', '02', 92),
('Y71814006', '02', 80),
('Y71814008', '02', 87),
('Y71814001', '03', 89);--1
SELECT sname, sno, sdept
FROM student
WHERE sdept = '互聯(lián)網(wǎng)學院';--2
SELECT top 2 sno, sname, sdept
FROM student
WHERE sname LIKE '李%'
ORDER BY sno;--3
SELECT *
FROM student
WHERE sno LIKE '%1914%' AND sage BETWEEN 19 AND 21 AND ssex = '女';--4
SELECT *
FROM student
WHERE sdept IN ('互聯(lián)網(wǎng)學院', '電子工程學院') AND sage < 20;--5SELECT COUNT(*)
FROM student
WHERE sdept = '互聯(lián)網(wǎng)學院';--6
SELECT DISTINCT sdept
FROM student;--7
SELECT sdept, COUNT(*) AS 每個院系的學生數(shù)量
FROM student
GROUP BY sdept;--8
SELECT sdept, COUNT(*) AS 每個院系的學生數(shù)量
FROM student
WHERE sdept != '互聯(lián)網(wǎng)學院'
GROUP BY sdept;--9
SELECT AVG(grade) AS 平均成績
FROM sc
WHERE cno = '02';--10
SELECT cno, COUNT(*) AS 選課人數(shù)
FROM sc
GROUP BY cno;--11
SELECT cno, AVG(grade) AS 平均成績
FROM sc
GROUP BY cno;--12
SELECT sno, AVG(grade) AS 平均成績
FROM sc
WHERE grade IS NOT NULL
GROUP BY sno;--13
SELECT sno, AVG(grade) AS 平均成績
FROM sc
GROUP BY sno
HAVING AVG(grade) > 86;--14
SELECT sno, AVG(grade) AS 平均成績
FROM sc
GROUP BY sno
HAVING COUNT(cno) >= 2
ORDER BY 平均成績 DESC;--15
SELECT sname, (GetDate() - sage) AS 出生年份
FROM student
WHERE ssex = '男';