第一篇:sql查詢練習題含答案
--(1)查詢20號部門的所有員工信息。select * from emp e where e.deptno=20;
--(2)查詢獎金(COMM)高于工資(SAL)的員工信息。select * from emp where comm>sal;--(3)查詢獎金高于工資的20%的員工信息。select * from emp where comm>sal*0.2;--(4)查詢10號部門中工種為MANAGER和20號部門中工種為CLERK的員工的信息。select * from emp e
where(e.deptno=10 and e.job='MANAGER')or(e.deptno=20 and e.job='CLERK')--(5)查詢所有工種不是MANAGER和CLERK,--且工資大于或等于2000的員工的詳細信息。select * from emp
where job not in('MANAGER','CLERK')and sal>=2000;
--(6)查詢有獎金的員工的不同工種。select * from emp where comm is not null;--(7)查詢所有員工工資和獎金的和。select(e.sal+nvl(e.comm,0))from emp e;--(8)查詢沒有獎金或獎金低于100的員工信息。select * from emp where comm is null or comm<100;--(9)查詢員工工齡大于或等于10年的員工信息。
select * from emp where(sysdate-hiredate)/365>=10;
--(10)查詢員工信息,要求以首字母大寫的方式顯示所有員工的姓名。select initcap(ename)from emp;select upper(substr(ename,1,1))||lower(substr(ename,2))from emp;
--(11)顯示所有員工的姓名、入職的年份和月份,按入職日期所在的月份排序,--若月份相同則按入職的年份排序。
select ename,to_char(hiredate,'yyyy')year,to_char(hiredate,'MM')month from emp order by month,year;--(12)查詢在2月份入職的所有員工信息。select * from emp where to_char(hiredate,'MM')='02'--(13)查詢所有員工入職以來的工作期限,用“**年**月**日”的形式表示。
select e.ename,floor((sysdate-e.hiredate)/365)||'年' ||floor(mod((sysdate-e.hiredate),365)/30)||'月' ||floor(mod(mod((sysdate-e.hiredate),365),30))||'日' from emp e;--(14)查詢從事同一種工作但不屬于同一部門的員工信息。select a.ename,a.job,a.deptno,b.ename,b.job,b.deptno from emp a,emp b where a.job=b.job and a.deptno<>b.deptno;
--(15)查詢各個部門的詳細信息以及部門人數(shù)、部門平均工資。select d.deptno,count(e.empno),avg(e.sal),d.dname,d.loc from emp e ,dept d where e.deptno=d.deptno group by d.deptno,d.dname,d.loc
--(16)查詢10號部門員工以及領導的信息。select * from emp where empno in(select mgr from emp where deptno=10)or deptno=10;
--(17)查詢工資為某個部門平均工資的員工信息。select * from emp where sal in(select avg(sal)from emp group by deptno);
--(18)查詢工資高于本部門平均工資的員工的信息。select * from emp e1
where sal >(select avg(sal)from emp e2 where e2.deptno=e1.deptno);
--(19)查詢工資高于本部門平均工資的員工的信息及其部門的平均工資。select e.*,a.avgsal from emp e,(select deptno,avg(sal)as avgsal from emp group by deptno)a where a.deptno=e.deptno and e.sal>a.avgsal;
--(20)統(tǒng)計各個工種的人數(shù)與平均工資。
select count(*),e.job,avg(e.sal)from emp e group by e.job
--(21)統(tǒng)計每個部門中各個工種的人數(shù)與平均工資。select deptno,job,count(empno),avg(sal)from emp e group by e.deptno,e.job--(22)查詢所有員工工資都大于1000的部門的信息。select * from dept where deptno in(select deptno from emp where deptno not in
(select distinct deptno from emp where sal<1000));
--(23)查詢所有員工工資都大于1000的部門的信息及其員工信息。select * from emp e join dept d on d.deptno in(select deptno from emp where deptno not in
(select distinct deptno from emp where sal<1000))and d.deptno=e.deptno;
--(24)查詢所有員工工資都在900~3000之間的部門的信息。select * from dept where deptno not in(select deptno from emp
where sal not between 900 and 3000);--(25)查詢所有工資都在900~3000之間的員工所在部門的員工信息。select * from emp a where a.deptno in(select distinct e.deptno from emp e where e.sal between 900 and 3000);
--(26)查詢每個員工的領導所在部門的信息。select d.* from dept d where d.deptno in(select distinct e2.deptno from emp e1,emp e2 where e1.empno=e2.mgr);--(27)查詢?nèi)藬?shù)最多的部門信息。select * from dept where deptno in(select deptno from(select count(*)count,deptno from emp group by deptno)where count in(select max(count)
from(select count(*)count ,deptno from emp group by deptno)));
--(28)查詢30號部門中工資排序前3名的員工信息。
select * from
(select sal from emp where deptno=30 order by sal desc)e where rownum<4
--(29)查詢'JONES'員工及所有其直接、間接下屬員工的信息。select e.* from emp e start with ename='JONES' connect by prior empno=mgr;
---(30)查詢SCOTT員工及其直接、間接上級員工的信息。select e.* from emp e start with ename='SCOTT' connect by prior mgr=empno;
--(31)以樹狀結構查詢所有員工與領導之間的層次關系。select substr(sys_connect_by_path(ename,'->'),3),level from emp start with mgr is null connect by prior empno=mgr;
--(32)向emp表中插入一條記錄,員工號為1357,員工名字為oracle,--工資為2050元,部門號為20,入職日期為2002年5月10日。
--(33)將各部門員工的工資修改為該員工所在部門平均工資加1000。update emp e set sal= 1000+(select avg(sal)from emp where deptno=e.deptno);
--(34)查詢工作等級為2級,1985年以后入職的工作地點為DALLAS的員工編號、--姓名和工資。
select e.ename,e.empno,e.sal from emp e,salgrade s,dept d where(e.sal between s.losal and s.hisal)and(s.grade=2)
and to_char(e.hiredate,'yyyy')>1985 and e.deptno=d.deptno and d.loc='DALLAS';
--35.部門平均薪水最高的部門編號
select * from(select avg(sal)avgsal,deptno
from emp group by deptno order by avgsal desc)
where rownum=1;
select deptno,avg(sal)from emp group by deptno having avg(sal)=(select max(avg(sal))avgsal
from emp group by deptno)
--36,部門平均薪水最高的部門名稱
select d.* from dept d where deptno in(select deptno from emp group by deptno having avg(sal)=(select max(avg(sal))avgsal
from emp group by deptno))
--37.平均薪水最低的部門的部門名稱
select d.* from dept d where deptno in(select deptno from emp group by deptno having avg(sal)=(select min(avg(sal))avgsal
from emp group by deptno))
--38.平均薪水等級最低的部門的部門名稱 select d.dname from dept d where d.deptno in(select a.deptno from
(select e.deptno from emp e,salgrade s where(e.sal between s.losal and s.hisal)group by e.deptno order by avg(s.grade))a where rownum=1);
--39.部門經(jīng)理人中,薪水最低的部門名稱 select dname from dept where deptno=(select deptno from
(select deptno from emp where job='MANAGER' group by deptno order by min(sal))where rownum=1)
--40.比普通員工的最高薪水還要高的經(jīng)理人名稱 select ename from emp where sal>(select max(sal)from emp where job not in('MANAGER','PRESIDENT'))and job='MANAGER' or job='PRESIDENT'
--41.刪除重復部門,但是留下一項
insert into dept values(70,'RESEARCH','DALLAS')select deptno,dname,rowid from dept
delete from dept d where rowid<>(select min(rowid)from dept where dname=d.dname and d.loc=loc)
--42.更新員工工資為他的主管的工資,獎金
update emp e set sal=(select sal from emp where empno=e.mgr), comm=(select comm from emp where empno=e.mgr)
update emp e set(sal,comm)=(select sal,comm from emp where empno=e.mgr)rollback;select * from emp;
第二篇:SQL查詢語句
SQL查詢語句
第一次:查詢(顯示)、條件、排序、空記錄
第二次:通配符、生成表、文件(記事本)、數(shù)組、臨時表,數(shù)學函數(shù)、分組、嵌套查詢
第三次:插入記錄、刪除記錄、更新記錄 第四次:超連接、新建(打開)數(shù)據(jù)庫、表的建立、表的刪除、第五次 表結構的修改,添加記錄 顯示同張芳同一天出生的學生的信息 格式:
1、查詢(顯示)記錄
顯示所有男學生的學號,姓名,性別 區(qū)分:字段、條件、表名
Select 字段名列表(*)from 表名; where 條件表達式;
into table(dbf)文件名;
into cursor 臨時表名;
into array 數(shù)組名;
to file 文件名;
order by 字段名列表(asc desc);
group by 字段名 having 條件;
顯示所有大于平均分的學生的學號、姓名 顯示同E4掙同樣工資的職工信息
Select * from 職工 where 工資=(select 工資 from 職工 where 職工號=”E4”)職工(倉庫號C(10),職工號 C(10),工資 N(10,2))
顯示所有工資大于1500的員工的倉庫號、職工號及所在的城市
2、插入記錄
Insert into 表名(字段名列表)values(記錄值)
3、刪除記錄
Delete from 表名 where 條件
4、更新記錄
Update 表名 set 字段名=記錄值; Where 條件
5、表的刪除
drop table 表名
6、表的建立
create table 表名(字段名 數(shù)據(jù)類型(寬度))
7、表結構的修改select * from 職工where 職工號!=“E4” AND 工資=(select 工資 from 職工 where 職工號=“E4”)
alter table 表名
1)增加字段
alter table student add 身份證號 c(10)
2)刪除字段
alter table student drop colum 身份證號
3)修改字段名
alter table student rename colum 出生日期 to 出生年月
4)增加字段有效性規(guī)則
alter table student alter 成績 set check 成績>=0 and 成績<=100;
error “成績輸入錯誤,成績應該在0-100之間”
5)刪除字段有效性規(guī)則
alter table student alter 成績 drop check 注意:
以上題目中用到的 SQL語句粘貼到計事本文件XY.TXT中(每行一條語句)。對兩個表操作的方法:
1)同時打開兩個表
select 倉庫.倉庫號,城市,職工號,工資 from 倉庫,職工;
where 職工.倉庫號=倉庫.倉庫號 and 工資=1250
2)超連接(內(nèi)連接、左連接、右連接、全連
接)
內(nèi)連接:只顯示符合條件的記錄
左連接:顯示符合條件的記錄及第一個表中不符合條件的記錄
右連接:顯示符合條件的記錄及第二個表中不符合條件的記錄
全連接:顯示符合條件的記錄及第一、二個表中不符合條件的記錄
成績表(score)
學號姓名課程名成績 2001張三計算機10 2003張四英語20 2001張三語言30 2005張三數(shù)據(jù)40 2003張四計算機50
Select sum(成績)from score group by 學號
Select sum(成績)from score group by 課程名
select 字段名列表(*)from 表名;where 條件;
order by 字段名列表 asc|desc;
into table(dbf)表名;
into array 數(shù)組名;
to file 文件名;
into cursor 臨時表名
題目練習
實現(xiàn)以下功能:在考生文件夾下,打開“陶的數(shù)據(jù)庫”的數(shù)據(jù)庫,并利用SQL語句在該數(shù)據(jù)庫中新建一個表:gongzi(職工號 c(4),實發(fā)工資 n(7,0)),將zhigong表中基本工資大于1330(含1330)的記錄存儲在gongzi表中,其中實發(fā)工資為:基本工資+加班費(白天20,晚上30),最后將所有的SQL語句保存到考生目錄下的sqlanswer.txt文件中(自行建立,一行一條語句)
open database 陶的數(shù)據(jù)庫
create table gongzi(職工號 c(4),基本工資 n(7,2))
select 職工號,基本工資+白班*20+晚班*30 from zhigong;where 基本工資>1350 into array xy
insert into gongzi from array xy
第三篇:Sql語句查詢
sql語句多表連接查詢
在程序開發(fā)過程中,不僅可以對單一數(shù)據(jù)表進行查詢,還可以進行多表查詢,用戶通過多表查詢從多個表中提取出需要的數(shù)據(jù)。
多表查詢可以分為內(nèi)連接查詢、外連接查詢以及聯(lián)合查詢。
1.內(nèi)連接查詢
連接查詢是指通過各個表之間共同列的關聯(lián)性查詢數(shù)據(jù)。連接查詢分為內(nèi)連接查詢和外連接查詢。內(nèi)連接是將兩個相互交叉的數(shù)據(jù)集合中重疊部分的數(shù)據(jù)行連接起來,返回表示兩個數(shù)據(jù)集合之間匹配連接關系的數(shù)據(jù)行。
可以在FORM子句中使用INNER JOIN?ON?建立內(nèi)連接,也可以在WHERE子句中指定連接條件建立內(nèi)連接,例如:
select a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet as b on a.UserID= b.UserID
也可以用下面的語句實現(xiàn)。
select a.UserName,b.BookName,b.Datetm from UserInfo as a,SellSheet as b where a.UserID=b.UserID
2.外連接查詢
外連接是對內(nèi)連接的擴充,除了將兩個數(shù)據(jù)集合中重疊部分以內(nèi)的數(shù)據(jù)行連接起來之外,還可以根據(jù)要求返回左側(cè)或右側(cè)數(shù)據(jù)集合中非匹配的數(shù)據(jù),即左外連接(LEFT OUTER JOIN)和右外連接(RIGHT OUTER JOIN)。
l左外連接LEFT OUTER JOIN
左外連接LEFT OUTER JOIN邏輯運算符除了返回兩個數(shù)據(jù)表中滿足連接條件的行,它還返回任何在后一個數(shù)據(jù)表中沒有匹配行的前一個數(shù)據(jù)表中的行。非匹配行的部分字段列作為空值返回。
l右外連接RIGHT OUTER JOIN
右外連接RIGHT OUTER JOIN是左外連接的反向連接。它除了返回兩個數(shù)據(jù)表中滿足連接條件的行,還返回任何在前一個數(shù)據(jù)表中沒有匹配行的后一個數(shù)據(jù)表中的行。非匹配行的部分字段列作為空值返回。
3.使用UNION進行聯(lián)合查詢
使用UNION運算符可以進行聯(lián)合查詢。UNION運算符連接多個SELECT語句,將兩個或更多查詢的結果組合為單個結果集,該結果集包含聯(lián)合查詢中所有查詢的全部行。使用UNION運算符遵循的規(guī)則如下:
(1)在使用UNION運算符組合的語句中,所有選擇列表的表達式數(shù)目必須相同(列名、算術表達式、聚集函數(shù)等)。
(2)在使用UNION組合的結果集中的相應列必須具有相同數(shù)據(jù)類型,或者兩種數(shù)據(jù)類型之間必須存在可能的隱性數(shù)據(jù)轉(zhuǎn)換,或者提供了顯式轉(zhuǎn)換。例如,在datetime數(shù)據(jù)類型的列和binary數(shù)據(jù)類型的列之間不能使用UNION運算符,除非提供了顯式轉(zhuǎn)換,而在money數(shù)據(jù)類型的列和int數(shù)據(jù)類型的列之間可以使用UNION運算符,因為它們可以進行隱性轉(zhuǎn)換。
(3)結果集中列的名字或者別名是由第一個SELECT語句的選擇列表決定的。
注意:對數(shù)據(jù)表進行聯(lián)合查詢時,結果集中行的最大數(shù)量是各表行數(shù)之“和”,而對數(shù)據(jù)表進行連接查詢時,結果集中行的最大數(shù)量是各表行數(shù)之“積”。
第四篇:SQL常用查詢總結
1)查詢?nèi)w學生的學號、姓名、所在系 select Sno,Sname,Sdept from Student
2)
查詢?nèi)w學生的詳細信息
select * from Student
3)
查詢?nèi)w學生的姓名及其出生日期 select Sname,Sbirthday from Student
4)
查詢軟件工程系全體學生的名單
select * from Student
where Sdept='軟件工程系'
5)
查詢所有年齡在20歲以下的學生姓名以及年齡(注:GETDATE()函數(shù)可獲得當前的日期,YEAR()函數(shù)可返回日期中的年份)
Select Sname ,(year(getdate())-YEAR(Sbirthday))as age from Student
where(year(getdate())-YEAR(Sbirthday))<20
6)
查詢考試成績不及格的學生的學號 select Sno from Score where Grade<60
7)
查詢出生日期在1990年1月1日~1995年12月31日之間的學生的姓名、所在系和出生日期
select Sname,Sdept,Sbirthday from Student
where Sbirthday between '1990-1-1 0:00:00' and '1995-12-31 0:00:00'
8)
查詢不在信息系、數(shù)學系也不在軟件工程系學生的姓名和性別
select Sname,sex from Student
where Sdept not in('信息系','數(shù)學系','軟件工程系')
9)
查詢所有姓李且全名為三個漢字的學生的姓名、學號和性別
10)查詢姓名中第2個字為“陽”字的學
生的姓名和學號
select Sname,Sno
from Student
where Sname like '%陽%'
11)查詢軟件工程系年齡在20歲以下的學生姓名
Select Sname ,(year(getdate())-YEAR(Sbirthday))as age from Student
where(year(getdate())-YEAR(Sbirthday))<20 and Sdept='軟件工程系'
12)查詢選修了3號課程的學生的學號
及其成績,查詢結果按分數(shù)的降序排列
select Sno,Grade from Score where Cno=3 order by Grade desc
13)查詢?nèi)w學生情況,結果按所在系的升序排列,同一系的按年齡降序排列
select * from Student
order by Sdept asc,Sbirthday desc
14)統(tǒng)計學生總?cè)藬?shù)
select Sno from Student compute count(Sno)
15)查詢選修了課程的學生人數(shù)
select distinct Student.Sno,Score.Sno from Student,Score
where Student.Sno=Score.Sno compute count(Student.Sno)
16)計算1號課程的學生平均成績
select Grade from Score where Cno=1 compute avg(Grade)
17)查詢選修了1號課程的學生最高分
數(shù)
select * from Score where Cno=1 compute max(Grade)
18)求各課程號及相應的選課人數(shù)
select Sno,Cno from Score order by Cno
compute count(Sno)by Cno
19)查詢選修了3門以上課程的學生學
號
20)查詢選修2號課程且成績在90分以
上的所有學生的學號、姓名
select Student.Sno,Student.Sname from Student,Score
where Student.Sno=Score.Sno and Score.Cno=2 and Score.Grade>90
21)查詢每個學生的學號、姓名、選修的課程名和成績
select Student.Sno,Student.Sname, Course.Cname,Score.Grade from Course,Score,Student where
Student.Sno=Score.Sno
and
Score.Cno=Course.Cno
22)查詢所有選修了1號課程的學生姓
名
select distinct Student.Sno,Score.Sno,Student.Sname from Student,Score
where Student.Sno=Score.Sno and Score.Cno=1
23)查詢選修了課程名為“數(shù)據(jù)庫”的學
生的學號和姓名
select distinct Student.Sno,Student.Sname from Student,Course,Score
where Student.Sno=Score.Sno and Course.Cname='數(shù)據(jù)庫'
第五篇:SQL查詢語言
《SQL查詢語言》教學設計
一、教學目標分析
認知目標
學習SQL查詢語言的使用方法。
掌握SQL語言當中的SELECT語句
能力目標
培養(yǎng)學生應用查詢語句查詢數(shù)據(jù)的應用能力
情感目標
體驗SQL語言查詢方法
主動將數(shù)據(jù)庫管理信息的思想、方法創(chuàng)造性地應用到生活、學習之中。
二、教學內(nèi)容分析
課前需要為學生準備名為SCHOOL數(shù)據(jù)庫文件,里面放著名為CLASS的表,供學生練習使用。提供這個數(shù)據(jù)庫文件可以避免學生在建立表以及表中錄入記錄上花費太多的時間,而把重點放在對本節(jié)內(nèi)容的學習上,可以讓教師更好地進行目標調(diào)控,做到有的放矢。這個數(shù)據(jù)庫文件放置于網(wǎng)絡共享文件夾中,并將其快捷方式置于學生機的桌面上。教學重點:
1、使用“在設計視圖中創(chuàng)建查詢”。
2、SQL查詢語言的格式。
教學難點:
運行、調(diào)試SQL命令。
解決措施:
通過老師講解、演示及設置的任務,讓學生在學習的過程中,自己動手,以不斷解決問題為手段,有機結合各種知識,以任務驅(qū)動的方式發(fā)展能力,一步步完成學習任務。
三、學生學習狀態(tài)分析
本課的教學對象是大二的學生,由于學生的理論知識薄弱,加上數(shù)據(jù)庫比較抽象,比較難理解的特點,從而造成學生對數(shù)據(jù)庫的認識還很模糊。學生在本節(jié)課之前,已經(jīng)掌握數(shù)據(jù)庫和表的創(chuàng)建、打開及表中輸入、修改記錄的方法,初步掌握SQL的一些基本操作,在此基礎上,如何學會在數(shù)據(jù)庫眾多表中查詢記錄變得至關重要了,所以為了學生更好地掌握這一點知識點,應廣泛調(diào)動他們的學習興趣,增強學習的主動性。
四、教學策略
職業(yè)技術學院課程本身的特點、知識及技能的傳授應以典型“任務”為主,創(chuàng)造學生自主探究學習的平臺,學生在教師的指導下帶著任務通過實際操作、探究學習等方式,逐步完成任務。
五、教學過程
合理安排教學過程是教學成功的關鍵。因此,我把教學過程分為“情境感知,揭示課題——任務驅(qū)動,講授新知——課堂小結,鞏固新知”三部分。
(一)情境感知,揭示課題
為了讓同學們對自己班級同學的情況有所了解,我們?nèi)绾魏啽愕夭樵兡??我們可以通過輸入一些命令解決問題。這些命令就是我們這節(jié)課所要學習的SQL查詢語言。設計思路:
SQL所包含的數(shù)據(jù)具有一定的規(guī)模,并且能快速地從眾多表中查詢到某個同學的情況,讓學生體會到數(shù)據(jù)庫在現(xiàn)實生活中的應用。
(二)任務驅(qū)動,講授新知
1. 如何在SQL中使用查詢命令?
任務一:
在SCHOOL數(shù)據(jù)庫的CLASS表中查詢所有的記錄
Select * from class
1)步驟:略
2)分析剛才寫的查詢命令:
SELECT:表示這是一個查詢語句
*:表示顯示出符合條件記錄的所有字段內(nèi)容,如果在這輸入的是一些逗號分隔的字段名,則查詢結果只顯示響應字段的內(nèi)容。
FROM:表示從哪個表里查詢。
3)寫SQL命令時應注意的事項:
命令必須是英文的半角字母
字符型數(shù)據(jù)要用英文的單引號包含起來。
設計思路:
這既是課堂重點也是難點,通過兩個層次推進的設疑,教師適當?shù)乩斫?、演示,使學生對SQL查詢語言已消除了陌生感,并有了一定的理解。
2. 嘗試練習
任務二:
查詢表中頭三條記錄
通過本例講解讓學生掌握TOP關鍵字的用法
任務三:
查詢姓名和年齡兩列數(shù)據(jù)
通過本例講解讓學生掌握部分字段內(nèi)容的查詢
任務四:
查詢年齡大于等于17而小于等于19的數(shù)據(jù)
通過本例講解,讓學生掌握比較運算符和邏輯運算符的應用,以及另一種方法BETWEEN…AND…關鍵字的用法
任務五:
查詢健康狀況為良好的所有數(shù)據(jù)
通過本例講解,讓學生掌握WHERE關鍵字的用法
任務六:
查詢姓李的學生所有數(shù)據(jù)
通過本例講解,讓學生掌握LIKE關鍵字的用法
任務七:
查詢健康狀況為良好或一般的數(shù)據(jù)
通過本例講解,讓學生掌握IN關鍵字的用法
任務八:
查詢中文成績及格的數(shù)據(jù)
通過本例講解,讓學生掌握比較運算符的應用
任務九:
查詢英語和中文的總成績
通過本例講解,讓學生掌握為派生列起別名的方法
任務十:
學生練習:
查詢一班各位同學的英語、中文成績總分。
任務十一:
將中文成績俺降序排列(升序asc)
通過本例講解,讓學生掌握ORDER BY關鍵字的應用
任務十二:
查詢一班同學中文成績排名狀況(按降序)
通過本例講解,讓學生掌握WHERE條件和ORDER BY關鍵字綜合應用
任務十三
查詢各班中文總成績
通過本例講解,讓學生掌握聚合函數(shù)和GROUP BY關鍵字的應用
任務十四
查詢一班中文總成績
通過本例講解,讓學生掌握聚合函數(shù)和GROUP BY關鍵字以及HAVING關鍵字的應用 任務十五:
利用class表中的姓名、中文、英文成績創(chuàng)建一個名為jjnn的新表。
通過本例講解,讓學生掌握從源表中篩選一部分數(shù)據(jù)產(chǎn)生新表的方法。
設計思路:
這個環(huán)節(jié)我拋出了一個個任務,促使學生去自我探索和自主學習,達到掌握操作和使用的目的,激發(fā)學生的學習熱情和創(chuàng)造積極性。
(三)課堂小結,鞏固新知
這節(jié)課我們學習了SQL語言查詢的使用方法,綜合以上任務,不難得出SELECT語句的使用格式和方法(板書SELECT語句的格式):
? 〈SELECT語句〉::=
SELECT [ALL|DISTINCT]〈目標列表達式〉[別名] [ ,〈目標列表達式〉[別
名]]?
FROM 〈表名或視圖名〉[別名][ ,〈表名或視圖名〉[別名]]?
[WHERE〈條件表達式〉]
[GROUP BY 〈列名1〉[HAVING〈條件表達式〉]]
[ORDER BY 〈列名2〉[ASC|DESC]];
? 〈目標列表達式〉::=
*
|〈表名〉.*
|[〈表名〉.]〈列名表達式〉{,[〈表名〉.]〈列名表達式〉}
|〈集函數(shù)名〉([DISTINCT|ALL] *|列名)
? 〈集函數(shù)名〉::=
COUNT
|SUM
|AVG
|MAX
|MIN
? 〈條件表達式〉::=
1.? θ ?
2.? [NOT] BETWEEN ? AND ?
3.? [NOT] IN(?)
4.? [NOT] LIKE '?'
5.? IS [NOT] NULL
6.[NOT] EXISTS 〈SELECT語句〉
7.〈條件表達式〉〈AND|OR〉〈條件表達式〉
對學生在操作中出現(xiàn)的問題再一次強調(diào)書寫命令的注意事項。
六、教學反思
本節(jié)課,我的設計任務與學生的成績有關,容易激起學生很大的關注。隨著任務的深入,學習目標得到很好的落實,力爭以學習目標為起點,又以學習目標為歸宿。學習過程中要時刻關注學生的進展及出現(xiàn)的問題,對于學生的點滴進步給予及時的肯定;對于出現(xiàn)的問題,也是一種動態(tài)生成的教學資源,應善于捕捉,適時提出,引導學生分析并解決,實現(xiàn)“問題從學生中來,最終回到學生中去”,從而完善學生的意義建構。