㈠ sql查詢面試題與答案
SQL查詢面試題與答案
SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。下面是我搜集的SQL查詢面試題與答案,歡迎大家閱讀。
SQL查詢面試題與答案一
1.一道SQL語句面試題,關於group by表內容:
2005-05-09 勝
2005-05-09 勝
2005-05-09 負
2005-05-09 負
2005-05-10 勝
2005-05-10 負
2005-05-10 負
如果要生成下列結果, 該如何寫sql語句?
勝 負
2005-05-09 2 2
2005-05-10 1 2
------------------------------------------
create table #tmp(rq varchar(10),shengfu nchar(1))
insert into #tmp values('2005-05-09','勝')
insert into #tmp values('2005-05-09','勝')
insert into #tmp values('2005-05-09','負')
insert into #tmp values('2005-05-09','負')
insert into #tmp values('2005-05-10','勝')
insert into #tmp values('2005-05-10','負')
insert into #tmp values('2005-05-10','負')
1)select rq, sum(case when shengfu='勝' then 1 else 0 end)'勝',sum(case when shengfu='負' then 1 else 0 end)'負' from #tmp group by rq
2) select N.rq,N.勝,M.負 from (
select rq,勝=count(*) from #tmp where shengfu='勝'group by rq)N inner join
(select rq,負=count(*) from #tmp where shengfu='負'group by rq)M on N.rq=M.rq
3)select a.col001,a.a1 勝,b.b1 負 from
(select col001,count(col001) a1 from temp1 where col002='勝' group by col001) a,
(select col001,count(col001) b1 from temp1 where col002='負' group by col001) b
where a.col001=b.col001
2.請教一個面試中遇到的SQL語句的查詢問題
表中有A B C三列,用SQL語句實現:當A列大於B列時選擇A列否則選擇B列,當B列大於C列時選擇B列否則選擇C列。
------------------------------------------
select (case when a>b then a else b end ),
(case when b>c then b esle c end)
from table_name
3.面試題:一個日期判斷的sql語句?
請取出tb_send表中日期(SendTime欄位)為當天的所有記錄?(SendTime欄位為datetime型,包含日期與時間)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0
4.有一張表,裡面有3個欄位:語文,數學,英語。其中有3條記錄分別表示語文70分,數學80分,英語58分,請用一條sql語句查詢出這三條記錄並按以下條件顯示出來(並寫出您的思路):
大於或等於80表示優秀,大於或等於60表示及格,小於60分表示不及格。
顯示格式:
語文 數學 英語
及格 優秀 不及格
------------------------------------------
select
(case when 語文>=80 then '優秀'
when 語文>=60 then '及格'
else '不及格') as 語文,
(case when 數學>=80 then '優秀'
when 數學>=60 then '及格'
else '不及格') as 數學,
(case when 英語>=80 then '優秀'
when 英語>=60 then '及格'
else '不及格') as 英語,
from table
5.在sqlserver2000中請用sql創建一張用戶臨時表和系統臨時表,裡麵包含兩個欄位ID和IDValues,類型都是int型,並解釋下兩者的區別?
------------------------------------------
用戶臨時表:create table #xx(ID int, IDValues int)
系統臨時表:create table ##xx(ID int, IDValues int)
區別:
用戶臨時表只對創建這個表的用戶的Session可見,對其他進程是不可見的.
當創建它的進程消失時這個臨時表就自動刪除.
全局臨時表對整個SQL Server實例都可見,但是所有訪問它的Session都消失的時候,它也自動刪除.
6.sqlserver2000是一種大型資料庫,他的`存儲容量只受存儲介質的限制,請問它是通過什麼方式實現這種無限容量機制的。
------------------------------------------
它的所有數據都存儲在數據文件中(*.dbf),所以只要文件夠大,SQL Server的存儲容量是可以擴大的.
SQL Server 2000 資料庫有三種類型的文件:
主要數據文件
主要數據文件是資料庫的起點,指向資料庫中文件的其它部分。每個資料庫都有一個主要數據文件。主要數據文件的推薦文件擴展名是 .mdf。
次要數據文件
次要數據文件包含除主要數據文件外的所有數據文件。有些資料庫可能沒有次要數據文件,而有些資料庫則有多個次要數據文件。次要數據文件的推薦文件擴展名是 .ndf。
日誌文件
日誌文件包含恢復資料庫所需的所有日誌信息。每個資料庫必須至少有一個日誌文件,但可以不止一個。日誌文件的推薦文件擴展名是 .ldf。
7.請用一個sql語句得出結果
從table1,table2中取出如table3所列格式數據,注意提供的數據及結果不準確,只是作為一個格式向大家請教。
如使用存儲過程也可以。
table1
月份mon 部門dep 業績yj
-------------------------------
一月份 01 10
一月份 02 10
一月份 03 5
二月份 02 8
二月份 04 9
三月份 03 8
table2
部門dep 部門名稱dname
--------------------------------
01 國內業務一部
02 國內業務二部
03 國內業務三部
04 國際業務部
table3 (result)
部門dep 一月份 二月份 三月份
--------------------------------------
01 10 null null
02 10 8 null
03 null 5 8
04 null null 9
------------------------------------------
1)
select a.部門名稱dname,b.業績yj as '一月份',c.業績yj as '二月份',d.業績yj as '三月份'
from table1 a,table2 b,table2 c,table2 d
where a.部門dep = b.部門dep and b.月份mon = '一月份' and
a.部門dep = c.部門dep and c.月份mon = '二月份' and
a.部門dep = d.部門dep and d.月份mon = '三月份' and
2)
select a.dep,
sum(case when b.mon=1 then b.yj else 0 end) as '一月份',
sum(case when b.mon=2 then b.yj else 0 end) as '二月份',
sum(case when b.mon=3 then b.yj else 0 end) as '三月份',
sum(case when b.mon=4 then b.yj else 0 end) as '四月份',
sum(case when b.mon=5 then b.yj else 0 end) as '五月份',
sum(case when b.mon=6 then b.yj else 0 end) as '六月份',
sum(case when b.mon=7 then b.yj else 0 end) as '七月份',
sum(case when b.mon=8 then b.yj else 0 end) as '八月份',
sum(case when b.mon=9 then b.yj else 0 end) as '九月份',
sum(case when b.mon=10 then b.yj else 0 end) as '十月份',
sum(case when b.mon=11 then b.yj else 0 end) as '十一月份',
sum(case when b.mon=12 then b.yj else 0 end) as '十二月份',
from table2 a left join table1 b on a.dep=b.dep
8.華為一道面試題
一個表中的Id有多個記錄,把所有這個id的記錄查出來,並顯示共有多少條記錄數。
------------------------------------------
select id, Count(*) from tb group by id having count(*)>1
select * from(select count(ID) as count from table group by ID)T where T.count>1
SQL查詢面試題與答案二
1、查詢不同老師所教不同課程平均分從高到低顯示
SELECT max(Z.T#) AS 教師ID,MAX(Z.Tname) AS 教師姓名,C.C# AS 課程ID,MAX(C.Cname) AS 課程名稱,AVG(Score) AS 平均成績
FROM SC AS T,Course AS C ,Teacher AS Z
where T.C#=C.C# and C.T#=Z.T#
GROUP BY C.C#
ORDER BY AVG(Score) DESC
2、查詢如下課程成績第 3 名到第 6 名的學生成績單:企業管理(001),馬克思(002),UML (003),資料庫(004)
[學生ID],[學生姓名],企業管理,馬克思,UML,資料庫,平均成績
SELECT DISTINCT top 3
SC.S# As 學生學號,
Student.Sname AS 學生姓名 ,
T1.score AS 企業管理,
T2.score AS 馬克思,
T3.score AS UML,
T4.score AS 資料庫,
ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 總分
FROM Student,SC LEFT JOIN SC AS T1
ON SC.S# = T1.S# AND T1.C# = '001'
LEFT JOIN SC AS T2
ON SC.S# = T2.S# AND T2.C# = '002'
LEFT JOIN SC AS T3
ON SC.S# = T3.S# AND T3.C# = '003'
LEFT JOIN SC AS T4
ON SC.S# = T4.S# AND T4.C# = '004'
WHERE student.S#=SC.S# and
ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)
NOT IN
(SELECT
DISTINCT
TOP 15 WITH TIES
ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)
FROM sc
LEFT JOIN sc AS T1
ON sc.S# = T1.S# AND T1.C# = 'k1'
LEFT JOIN sc AS T2
ON sc.S# = T2.S# AND T2.C# = 'k2'
LEFT JOIN sc AS T3
ON sc.S# = T3.S# AND T3.C# = 'k3'
LEFT JOIN sc AS T4
ON sc.S# = T4.S# AND T4.C# = 'k4'
ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC);
3、統計列印各科成績,各分數段人數:課程ID,課程名稱,[100-85],[85-70],[70-60],[ <60]
SELECT SC.C# as 課程ID, Cname as 課程名稱
,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85]
,SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70]
,SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60]
,SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -]
FROM SC,Course
where SC.C#=Course.C#
GROUP BY SC.C#,Cname;
4、查詢學生平均成績及其名次
SELECT 1+(SELECT COUNT( distinct 平均成績)
FROM (SELECT S#,AVG(score) AS 平均成績
FROM SC
GROUP BY S#
) AS T1
WHERE 平均成績 > T2.平均成績) as 名次,
S# as 學生學號,平均成績
FROM (SELECT S#,AVG(score) 平均成績
FROM SC
GROUP BY S#
) AS T2
ORDER BY 平均成績 desc;
5、查詢各科成績前三名的記錄:(不考慮成績並列情況)
SELECT t1.S# as 學生ID,t1.C# as 課程ID,Score as 分數
FROM SC t1
WHERE score IN (SELECT TOP 3 score
FROM SC
WHERE t1.C#= C#
ORDER BY score DESC
)
ORDER BY t1.C#;
6、查詢每門課程被選修的學生數
select c#,count(S#) from sc group by C#;
7、查詢出只選修了一門課程的全部學生的學號和姓名
select SC.S#,Student.Sname,count(C#) AS 選課數
from SC ,Student
where SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=1;
8、查詢課程編號“002”的成績比課程編號“001”課程低的所有同學的學號、姓名;
Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2
from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2
9、查詢所有課程成績小於60分的同學的學號、姓名;
select S#,Sname
from Student
where S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60);
10、查詢沒有學全所有課的同學的學號、姓名;
select Student.S#,Student.Sname
from Student,SC
where Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);
11、查詢至少有一門課與學號為“1001”的同學所學相同的同學的學號和姓名;
select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';
12、查詢至少學過學號為“001”同學所有一門課的其他同學學號和姓名;
select distinct SC.S#,Sname
from Student,SC
where Student.S#=SC.S# and C# in (select C# from SC where S#='001');
13、把“SC”表中“葉平”老師教的課的成績都更改為此課程的平均成績;
update SC set score=(select avg(SC_2.score)
from SC SC_2
where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='葉平');
14、查詢和“1002”號的同學學習的課程完全相同的其他同學學號和姓名;
select S# from SC where C# in (select C# from SC where S#='1002')
group by S# having count(*)=(select count(*) from SC where S#='1002');
15、刪除學習“葉平”老師課的SC表記錄;
Delect SC
from course ,Teacher
where Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='葉平';
16、向SC表中插入一些記錄,這些記錄要求符合以下條件:沒有上過編號“003”課程的同學學號、2、
號課的平均成績;
Insert SC select S#,'002',(Select avg(score)
from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002');
17、按平均成績從高到低顯示所有學生的“資料庫”、“企業管理”、“英語”三門的課程成績,按如下形式顯示: 學生ID,,資料庫,企業管理,英語,有效課程數,有效平均分
SELECT S# as 學生ID
,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 資料庫
,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='001') AS 企業管理
,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='006') AS 英語
,COUNT(*) AS 有效課程數, AVG(t.score) AS 平均成績
FROM SC AS t
GROUP BY S#
ORDER BY avg(t.score)
18、查詢各科成績最高和最低的分:以如下形式顯示:課程ID,最高分,最低分
SELECT L.C# As 課程ID,L.score AS 最高分,R.score AS 最低分
FROM SC L ,SC AS R
WHERE L.C# = R.C# and
L.score = (SELECT MAX(IL.score)
FROM SC AS IL,Student AS IM
WHERE L.C# = IL.C# and IM.S#=IL.S#
GROUP BY IL.C#)
AND
R.Score = (SELECT MIN(IR.score)
FROM SC AS IR
WHERE R.C# = IR.C#
GROUP BY IR.C#
);
19、按各科平均成績從低到高和及格率的百分數從高到低順序
SELECT t.C# AS 課程號,max(course.Cname)AS 課程名,isnull(AVG(score),0) AS 平均成績
,100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分數
FROM SC T,Course
where t.C#=course.C#
GROUP BY t.C#
ORDER BY 100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DESC
20、查詢如下課程平均成績和及格率的百分數(用"1行"顯示): 企業管理(001),馬克思(002),OO&UML (003),資料庫(004)
SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企業管理平均分
,100 * SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企業管理及格百分數
,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 馬克思平均分
,100 * SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 馬克思及格百分數
,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分
,100 * SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分數
,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 資料庫平均分
,100 * SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 資料庫及格百分數
FROM SC
;㈡ 用sql語句創建一個教師表教師可以帶多個班但不能帶多門課
熱門頻道
首頁
博客
研修院
VIP
APP
問答
下載
社區
推薦頻道
活動
招聘
專題
打開CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
sql
打開APP
SQL資料庫創建學生、教師、選課表 原創
2020-12-17 12:05:09
7點贊
Chowhound_i
碼齡2年
關注
SQL資料庫創建學生、教師、選課表
創建學生表
create table student (
sno char(14) primary key,
sname char (10) not null,
ssex char(2),
sage tinyint,
sdept varchar(20),
spassword tinyint,
)
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
創建教師表
create table teacher (
tno char(14) primary key,
tname char (10) not null,
tsex char(2),
tage tinyint,
sdept varchar(20),
spassword tinyint,
)
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
創建選課表
create table course (
cno char(10),
sno char(14) not null,
tno char(14) not null,
cyear tinyint,
cterm tinyint,
grade tinyint,
primary key(sno,tno),
foreign key(sno) references student(sno),
foreign key(tno) references teacher(tno),
)
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
文章知識點與官方知識檔案匹配
MySQL入門技能樹使用資料庫創建和刪除表
28046 人正在系統學習中
點擊閱讀全文
打開CSDN,閱讀體驗更佳
3.SQL--創建教師表和向表內插入數據_weixin_33712881的博客
3.SQL--創建教師表和向表內插入數據 --創建教師表,並向表內插入數據 create table Teacher(Tid varchar(10),Tname nvarchar(10)) --向表內插入數據 insertinto Teacher values('01' , '韓寒') insert into Teacher values('02...
sql語句(學生表、課程表、分數表、教師表)_煜帆帆的博客
student(學生表)、teacher(教師表)、course(課程表)、sc(分數表) 2、創建表 //學生表 create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); 1 2 3 4 5 6...
熱門推薦 創建一個資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)
創建一個資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,數據如表1-2的表… 表(一)Student (學生表) 屬性名 數據類型 可否為空 含 義 Sno varchar (20) 否 學號 Sname varchar (20) 否 學生姓名 Ssex varchar ...
繼續訪問
mysql創建教師表_day34 mysql 認識資料庫,創建學生,教師,學院表
資料庫 - 數據的倉庫(集散地) - database - 實現數據持久化和數據管理持久化 - 將數據從內存轉移到能夠長久保存數據的存儲介質的過程資料庫的分類:關系型資料庫(SQL)和非關系型資料庫(NoSQL)文件系統 / 層次資料庫 / 網狀資料庫關系型資料庫1970s - E.F.Codd - IBM研究員 - System R理論基礎:關系代數和集合論具體表象:用二維表來保存數據 - 學生...
繼續訪問
使用SQL語句創建及使用SQLServer資料庫_MyAnqi的博客
1使用SQL語句在資料庫中Student表插入對應表格前2行元組。 insert into Student(sno,sn,sex,bor,clano,age)values(108,'曾華','男','1992-09-01','09033',22); insert into Student(sno,sn,sex,bor,clano,age)values(105,...
...名學生的SQL語句。_白一曉的博客_查詢教師表中的總人數
在Mysql面試的寫SQL語句環節中,有人曾碰到了這樣一道這樣的一道SQL語句題。目前有兩張數據表,一張學生,一張老師表。裡面都有Name和Code兩個欄位。求出張三的老師一共有多少名學生。 這樣,我們還是先建兩張普通的數據表。
最新發布 mysql 創建學生表、課程表、學生選課表
學生-課程資料庫中包含以下三個表關系的主碼加粗表示,各個表中的數據實例:StudentCourseSCSno為Student表的主鍵,Cno為Course表的主鍵,SC表中外鍵Sno,Cno分別是Student表和Course表的主鍵
繼續訪問
資料庫實驗報告一
KingBase資料庫下SQL語句的基本使用
繼續訪問
資料庫sql語句練習_Young_991的博客
一、設有一資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,數據如表1-2的表(一)~表(四)所示。用SQL語句創建四個表並完成相關題...
...和MySQL示例查詢_庫特社區的博客_sql創建教師信息表
了解如何在其中創建表是一個重要且基本的概念。SQL 在本教程中,我將使用 PostgreSQL 和 MySQL 的代碼示例向您介紹語句的語法。SQLCREATE TABLE 基本語法CREATE TABLE 以下是該語句的基本語法:CREATE TABLE ...
【SQL】基本SQL數據表(學生、老師、課程、成績)
create table student--創建student數據表 ( s_no char(10) not null, --學號 s_name nchar(10), --姓名 s_sex char(2), --性別 borndate smalldatetime,--出生日期 ClassName nvarchar(50), --班級名稱 Telephone varchar(11), --電話號碼 EnrollDate smal.
繼續訪問
資料庫題:學生表,選課表,課程表寫SQL(多表)
設教學資料庫中有三個基本表: 學生表 S(SNO,SNAME,AGE,SEX),其屬性表示學生的學號、姓名、年齡和性別;選課表 SC(SNO,CNO,GRADE),其屬性表示學生的學號、所學課程的課程號和成績;課程表 C(CNO,CNAME,TEACHER),其屬性表示課程號、課程名稱和任課教師姓名。 下面的題目都是針對上述三個基本表操作的(原題S#、C#這樣子寫法在查詢的時候會報錯,這里就用S...
繼續訪問
2021-09-06
#創建db_test資料庫 create DATABASE db_test CHARACTER set utf8; use db_test; #在test資料庫中創建teacher表 create table teacher( number int PRIMARY key auto_increment, tname VARCHAR(30), sex VARCHAR(4), depno int, salary float, address VARCHAR(...
繼續訪問
太原理工大學軟體學院資料庫實驗四(2021.4.26)
太原理工大學軟體學院資料庫實驗四(2021.4.26) -- (1)創建Student 表 CREATE TABLE Student ( Sno CHAR(8) PRIMARY KEY, Sname CHAR(8) NOT NULL, Ssex CHAR(2) CHECK( Ssex in ('男','女')), Sage SMALLINT, Sdept CHAR(20), Sclass CHAR(4) NOT NULL, Stotal smallint DEFAULT 0 ); -- (2)創建Cours
繼續訪問
SQL語言編程實戰系列(一)——教學管理資料庫的創建和簡單操作
SQL語言編程實戰系列(一)——教學管理資料庫的創建和簡單操作,基於《資料庫原理與設計——基於SQL Server2012》王世民等編著P204-綜合題5.3.1編寫的解答。
繼續訪問
SQL建表語句(建立學生_課程資料庫)
SQL建表語句(建立學生_課程資料庫) (1)建立學生_課程資料庫 (2)包含學生表Student 包含Sno(學號),Sname(姓名),Ssex(性別),Sage(年齡),Sdapt(所在系)屬性列 學號為主碼(主鍵) (3)創建課程表Course 包含Cno(課程號),Cname(課程名),Cpno(先行課課程號),Credit(學分)屬性列 課程號為主碼(主鍵) (4)學生_課程表SC 包含Sno(學號),Cno(課程號),Grade(成績)屬性列 學號,課程號為主碼(主鍵) Creat
繼續訪問
Oracle完整的試題
[code="java"]create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); create table teacher( tno varchar2(10) primary key, tname varchar2(20) ...
繼續訪問
用mysql創建學生成績表_用SQL創建學生成績資料庫
創建資料庫school,這個資料庫中包含四個表:分別是學生表、教師表、課程表和成績表。語法:create database school;(創建資料庫school)show databases;(查看是否已經創建好)drop database school;(刪除資料庫school,這里不必刪除)2.設計創建學生表、教師表、課程表和成績表。語法:use school;create table st...
繼續訪問
資料庫面試----學生、老師、課程、選課表常用sql示例
資料庫面試----學生、老師、課程、選課表常用sql示例 請先看看六大範式詳解 1——建表 (1)學生表 student DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `sid` int(11) DEFAULT NULL, `sname` varchar(20) DEFAULT NULL, `sage` int(11) DEFAULT NULL, `ssex` varchar(20) DEFAULT NULL ) ENGIN
繼續訪問
創建學院表 學生表 教師表 課程表 選課記錄表
為什麼要使用資料庫 解決數據持久化問題 高效的管理數據(增刪改查) 資料庫的分類: 關系型資料庫 理論基礎:關系代數 具體表象:二維表 行:記錄 列:欄位 編程語言:SQL(結構化查詢語言) DDL - 數據定義語言 —> create / drop / alter DML - 數據操作語言 —> insert / delete / update DQL - 數據查詢語言 —> select DCL - 數據控制語言 —> grant / revoke ...
繼續訪問
將數據插入教師表.sql
sql 插入多條語句
合肥工業大學—SQL Server資料庫實驗三:SQL語句創建和刪除基本表
SQL語句創建和刪除基本表1. 編寫6個基本表2. 修改基本表結構,完整性約束條件3. 用Drop table 語句刪除基本表 1. 編寫6個基本表 設有簡單教學管理的6個關系模式如下: 系(系編號,系名稱、系主任、聯系電話、地址) 專業(專業編號、專業名稱、所屬系) 教師(教師編號、姓名、所在系、電話、電子信箱) 學生(學號、姓名、性別、出生日期、所學專業) 課程(課程號、課程名、學分、先修課) 學生選課(學號、課程號、成績) 要求:在資料庫EDUC中,創建對應的6個基本表,基本表的名稱和屬性名稱由
繼續訪問
學習好sql
科目表 Course數據表介紹 --1.學生表 Student(SId,Sname,Sage,Ssex) --SId 學生編號,Sname 學生姓名,Sage 出生年月,Ssex 學生性別 --2.課程表 Course(CId,Cname,TId) --CId 課程編號,Cname 課程名稱,TId 教師編號 --3.教師表 Teacher(TId,Tname) --TId 教師編號,Tna...
繼續訪問
CSDN學霸課表——NoSQL是什麼
《NoSQL是什麼》 NoSQL(NoSQL = Not Only SQL),意即反SQL運動,是一項全新的資料庫革命性運動。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對於目前鋪天蓋地的關系型資料庫運用,這一概念無疑是一種全新的思維的注入。 ►閱讀全文 Redis集群架構講師:李興華 Redis是現在使用最為廣泛的NoSQL資料庫技術,其自身不僅擁有著良好的操作性能,也被廣
繼續訪問
MySQL的teaching表建立_MySQL-一- 創建數據表
問題一:如何驗證MySQL資料庫安裝成功?問題二:如何用客戶端navicat連接到MySQL資料庫?練習:創建學校資料庫的表2.創建資料庫2.1 創建學生表student2.2創建成績表score2.3創建課程表course2.4創建教師表 teacher註:這里教師姓名可以為null3.練習插入數據3.1 向學生表裡添加數據3.2向成績表中添加數據3.3向課程表中添加數據3.4向教師表中添加數據...
繼續訪問
學生選課在MYSQL創建表_設要建立「學生選課」資料庫,庫中包括學生、課程和選課 3 個表,其表結構為: 學生(學號,姓名,性別,年齡,所在系) 課程(課程號,課程名,先行課) 選課(學號,課程號,成...
【單選題】濕空氣的下列參數:I.干球溫度、II.濕球溫度、III.露點溫度,它們之間的大小關系是【填空題】在預設情況下,所創建的索引是_________索引。【其它】使用 T-SQL 命令,完成下面的操作。 1 .創建學生成績視圖(學號,姓名,課程編號,課程名稱,成績) 。 2 .創建信息系學生視圖(學號,姓名,性別,系名,出生日期,民族,總學分,備注)。 3 .創建優秀學生視圖(學號,姓名,平均...
繼續訪問
用sql語句創建一個教師表
sql
寫評論
評論
35
7
踩
分享
前往CSDN APP閱讀全文
閱讀體驗更佳
CSDN
成就一億技術人
前往
Chrome瀏覽器
繼續
打開CSDN APP閱讀體驗更佳
㈢ sql面試題 原表 張三 語文 30 張三 數學 40 張三 英語 70 李斯特 語文 40 李斯特 數學 50 李斯特 英語 60
create table tb(姓名 varchar(10) , 課程 varchar(10) , 分數 int) insert into tb values('張三' , '語文' , 74) insert into tb values('張三' , '數學' , 83) insert into tb values('張三' , '物理' , 93) insert into tb values('李四' , '語文' , 74) insert into tb values('李四' , '數學' , 84) insert into tb values('李四' , '物理' , 94) go --SQL SERVER 2000 靜態SQL,指課程只有語文、數學、物理這三門課程。(以下同) select 姓名 as 姓名 , max(case 課程 when '語文' then 分數 else 0 end) 語文, max(case 課程 when '數學' then 分數 else 0 end) 數學, max(case 課程 when '物理' then 分數 else 0 end) 物理 from tb group by 姓名 --SQL SERVER 2000 動態SQL,指課程不止語文、數學、物理這三門課程。(以下同) declare @sql varchar(8000) set @sql = 'select 姓名 ' select @sql = @sql + ' , max(case 課程 when ''' + 課程 + ''' then 分數 else 0 end) [' + 課程 + ']' from (select distinct 課程 from tb) as a set @sql = @sql + ' from tb group by 姓名' exec(@sql) --SQL SERVER 2005 靜態SQL。 select * from (select * from tb) a pivot (max(分數) for 課程 in (語文,數學,物理)) b --SQL SERVER 2005 動態SQL。 declare @sql varchar(8000) select @sql = isnull(@sql + '],[' , '') + 課程 from tb group by 課程 set @sql = '[' + @sql + ']' exec ('select * from (select * from tb) a pivot (max(分數) for 課程 in (' + @sql + ')) b')
很不錯哦,你可以試下
c蟆qf唷c蟆f唷gЛ錠s姚m┈炸Лm┈炸ЛgЛ錠42511174322011-9-16 0:35:47
㈣ 建課程表的sql語句
CREATE course
(
co_id VARCHAR(5) PRIMARY KEY,
co_name VARCHAR(3) NOT NULL,
co_desc VARCHAR(60)
)
SELECT
a.sc_name,
b.co_name,
a.sc_score
FROM score a, course b
WHERE a.sc_courseid = b.co_id
AND substr(a.sc_number,1,2) = '98'
AND a.sc_sex = '0'
AND a.sc_score < 60;
僅供參考
㈤ SQL面試題 求答案
指定學科查詢:
select Name from Student
where Curricula ='指定學科'
and mark >60
不指定學科,按照學科排序
select Curricula,Name from Student
where mark >60
order by Curricula
總分排名前三的學員名字:
select top 3 name,sum(mark)
from student
group by 1
order by 2
㈥ 從學生表、選課表、課程表,試用SQL語句表示下列查詢語句: (1)列出全部學生的信息。
1.
SELECT*
FROM學生表
2.
SELECT學號,姓名
FROM學生表
WHERE專業='軟體測試專業'
3.
SELECT 課程號
FROM 課程表
WHERE 類型='必修課'
㈦ mysql資料庫面試題(學生表_課程表_成績表_教師表)
Student(Sid,Sname,Sage,Ssex)學生表
Sid:學號
Sname:學生姓名
Sage:學生年齡
Ssex:學生性別
Course(Cid,Cname,Tid)課程表
Cid:課程編號
Cname:課程名稱
Tid:教師編號
SC(Sid,Cid,score)成績表
Sid:學號
Cid:課程編號
score:成績
Teacher(Tid,Tname)教師表
Tid:教師編號:
Tname:教師名字
1、插入數據
2、刪除課程表所有數據
3、將學生表中的姓名 張三修改為張大山
或者
4、查詢姓』李』的老師的個數:
5、查詢所有課程成績小於60的同學的學號、姓名:
6、查詢沒有學全所有課的同學的學號、姓名
7、查詢平均成績大於60分的同學的學號和平均成績
8、查詢學過「100」並且也學過編號「101」課程的同學的學號、姓名
9、查詢「100」課程比「101」課程成績高的所有學生的學號
10、查詢課程編號「100」的成績比課程編號「101」課程高的所有同學的學號、姓名
11、查詢學過「魯迅」老師所教的所有課的同學的學號、姓名
12、查詢所有同學的學號、姓名、選課數、總成績
13、查詢至少有一門課與學號為「1」同學所學相同的同學的學號和姓名
14、把「SC」表中「魯迅」老師教的課的成績都更改為此課程的平均成績,
錯誤
15、查詢和「2」學號的同學學習的課程完全相同的其他同學學號和姓名
16、刪除學習「魯迅」老師課的SC表記錄
17、向SC表中插入一些記錄,這些記錄要求符合以下條件:沒有上過編號「003」課程的同學學號、002號課的平均成績
18、查詢各科成績最高和最低的分:以如下的形式顯示:課程ID,最高分,最低分
19、按各科平均成績從低到高和及格率的百分數從高到低順序
20、查詢如下課程平均成績和及格率的百分數(用」1行」顯示): 數學(100),語文(101),英語(102)
22、查詢不同老師所教不同課程平均分從高到低顯示
23、查詢如下課程成績第3名到第6名的學生成績單:數學(100),語文(101),英語(102)
23、統計下列各科成績,各分數段人數:課程ID,課程名稱,[100-85],[85-70],[70-60],[ 小於60]
24、查詢學生平均成績及其名次
25、查詢各科成績前三名的記錄(不考慮成績並列情況)
26、查詢每門課程被選修的學生數
27、查詢出只選修一門課程的全部學生的學號和姓名
28、查詢男生、女生人數
29、查詢姓「張」的學生名單
30、查詢同名同姓的學生名單,並統計同名人數
31、1981年出生的學生名單(註:student表中sage列的類型是datetime)
32、查詢平均成績大於85的所有學生的學號、姓名和平均成績
33、查詢每門課程的平均成績,結果按平均成績升序排序,平均成績相同時,按課程號降序排列
34、查詢課程名稱為「英語」,且分數低於60的學生名字和分數
35、查詢所有學生的選課情況
36、查詢任何一門課程成績在70分以上的姓名、課程名稱和分數
37、查詢不及格的課程,並按課程號從大到小的排列
38、查詢課程編號為「101」且課程成績在80分以上的學生的學號和姓名
39、求選了課程的學生人數:
40、查詢選修「魯迅」老師所授課程的學生中,成績最高的學生姓名及其成績
41、檢索至少選修兩門課程的學生學號
42、查詢全部學生都選修的課程的課程號和課程名(1.一個課程被全部的學生選修,2.所有的學生選擇的所有課程)
43、查詢沒學過「魯迅」老師講授的任一門課程的學生姓名
44、查詢兩門以上不及格課程的同學的學號及其平均成績
45、檢索「101」課程分數小於60,按分數降序排列的同學學號
46、刪除「2」同學的「101」課程的成績
㈧ oracle sql 語句 面試題
(1)統計有學生選修的課程門數
select count(distinct c#) from SC
2)求選修C4課程的女學生的平均年齡
select avg(s.age) --最好都帶上前綴,養成好習慣
from s,c,sc where s.s#=sc.s# and c.c#=sc.c#
and c.cname='C4' and s.sex='女'--字元類型帶引號,必須注意大小寫,你那麼寫好麻煩
3)求劉老師所授的課程的每門課程的平均成績
select c.cname , avg(grade) from sc , c
where c.teacher =' liu' and sc.c# = c.c#
group by c.cname --select後是什麼欄位,這地方你也得最少有這個欄位
(4)統計每門課程的學生選修人數(超過10人的課程才統計)。要求顯示課程號和人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列。
select t.*
from
(select sc.c#, count(s#) counnt_s from s,sc where s.s# = sc.s# group by sc.c# having count(s#) >10) t
order by counnt_s desc,c# asc --你排序不對,另外oracle不可根據別名排序,只可再做嵌套
5)檢索學號比王軍同學大,而年齡比他小的學生姓名
select a.s#
from
(select s# from s where s#>(select s# from s where sname='王軍') a,
select s# from s where age>(select age from s where sname='王軍') b
where a.s#=b.s#
6)求年齡大於女同學平均年齡的男學生的姓名和年齡
select sname,age from s
where age>
(select avg(age) from s where sex = 'nv') and sex = 'nan' --沒問題
7)求年齡大於所有女同學年齡的男學生的姓名和年齡
select sname ,age from s
where age>(select max(age) from s where sex = 'nv') and sex = 'nan' --沒問題
㈨ sql語句面試50題@20211219
Student(s_id,s_name,s_birth,s_sex) --學生編號,學生姓名, 出生年月,學生性別
–2.課程表
Course(c_id,c_name,t_id) – --課程編號, 課程名稱, 教師編號
–3.教師表
Teacher(t_id,t_name) --教師編號,教師姓名
–4.成績表
Score(s_id,c_id,s_score) --學生編號,課程編號,分數
1、查詢"01"課程比"02"課程成績高的學生的信息及課程分數
2、查詢"01"課程比"02"課程成績低的學生的信息及課程分數
3、查詢平均成績大於等於60分的同學的學生編號和學生姓名和平均成績
4、查詢平均成績小於60分的同學的學生編號和學生姓名和平均成績
5、查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績
6、查詢"李"姓老師的數量
7、查詢學過"張三"老師授課的同學的信息
8、查詢沒學過"張三"老師授課的同學的信息
9、查詢學過編號為"01"並且也學過編號為"02"的課程的同學的信息
10、查詢學過編號為"01"但是沒有學過編號為"02"的課程的同學的信息
11、查詢沒有學全所有課程的同學的信息
*12、查詢至少有一門課與學號為"01"的同學所學相同的同學的信息 **
13、查詢和"01"號的同學學習的課程完全相同的其他同學的信息 (不會)
14、查詢沒學過"張三"老師講授的任一門課程的學生姓名
-- [分析] 方法一:瘋狂子查詢
方法二:子查詢+內聯結
15、查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績
16、檢索"01"課程分數小於60,按分數降序排列的學生信息
17、按平均成績從高到低顯示所有學生的所有課程的成績以及平均成績(重要!)
-- 18.查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程ID,課程name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率--及格為>=60,中等為:70-80,優良為:80-90,優秀為:>=90(重要!)
19、按各科成績進行排序,並顯示排名(涉及到TopN問題,重要!!!)
20、查詢學生的總成績並進行排名
21、查詢不同老師所教不同課程平均分從高到低顯示
22、查詢所有課程的成績第2名到第3名的學生信息及該課程成績
23、統計各科成績各分數段人數:課程編號,課程名稱,[100-85],[85-70],[70-60],[0-60]及所佔百分比
24、查詢學生平均成績及其名次
25、查詢各科成績前三名的記錄(重要!!!!!)
26、查詢每門課程被選修的學生數
27、查詢出只有兩門課程的全部學生的學號和姓名
28、查詢男生、女生人數
29、查詢名字中含有"風"字的學生信息
-- [分析] 考察字元串模糊查詢,之前我的sql學習筆記中有詳細記錄 https://zhuanlan.hu.com/p/128093194
30、查詢同名同性學生名單,並統計同名人數(重要!!!!!)
31、查詢1990年出生的學生名單
32、查詢每門課程的平均成績,結果按平均成績降序排列,平均成績相同時,按課程編號升序排列
33、查詢平均成績大於等於85的所有學生的學號、姓名和平均成績
34、查詢課程名稱為"數學",且分數低於60的學生姓名和分數
35、查詢所有學生的課程及分數情況;
36、查詢任何一門課程成績在70分以上的姓名、課程名稱和分數;
37、查詢不及格的課程
38、查詢課程編號為01且課程成績在80分以上的學生的學號和姓名;
39、求每門課程的學生人數
40、查詢選修"張三"老師所授課程的學生中,成績最高的學生信息及其成績
41、查詢不同課程成績相同的學生的學生編號、課程編號、學生成績 (重要!!!!)
42、查詢每門功成績最好的前兩名
43、統計每門課程的學生選修人數(超過5人的課程才統計)。要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列
44、檢索至少選修兩門課程的學生學號
45、查詢選修了全部課程的學生信息
46、查詢各學生的年齡 按照出生日期來算,當前月日 < 出生年月的月日則,年齡減一
47、查詢本周過生日的學生
48、查詢下周過生日的學生
49、查詢本月過生日的學生
50、查詢下月過生日的學生