1.用一條sql語句 查詢出每門課都大於80分的學生姓名
name kecheng fenshu
張三 語文 81
張三 數學 75
李四 語文 76
李四 數學 90
王五 語文 81
王五 數學 100
王五 英語 90
**:只要找出存在小於80的not in就好了
--view code---------------------------------
usehandsomecui
create
table
grade(
name
varchar(5
), course
varchar(5
), score
int)
-----------------------------------
bulk
insert grade from
'c:\users\administrator\desktop\分數.txt
'with
( fieldterminator='
\t', rowterminator='
\n')select
*from
grade
-----------------------------------
--查詢所有成績在80分以上的學生姓名
select
distinct name from grade where name notin(
select
distinct name from grade where score<=80)
-----------------------------------
2.學生表 如下:
自動編號 學號 姓名 課程編號 課程名稱 分數
1 2005001 張三 0001 數學 69
2 2005002 李四 0001 數學 89
3 2005001 張三 0001 數學 69
刪除除了自動編號不同,其他都相同的學生冗餘資訊
**:相同資訊,肯定要分組了
--view code---------------------------------
create
table
grade1(
自動編號
int,
學號 varchar(10
), 姓名
varchar(5
), 課程編號
varchar(5
), 課程名稱
varchar(50
), 分數
int)
-----------------------------------
bulk
insert grade1 from
'c:\users\administrator\desktop\分數.txt
'with
( fieldterminator='
\t', rowterminator='
\n')select
*from
grade1
-----------------------------------
--刪除除了自動編號不同,其他都相同的學生冗餘資訊
delete grade1 where 自動編號 not
in (select
min(自動編號) from grade1 group
by 學號,姓名,課程編號,課程名稱,分數)
3.怎麼把這樣乙個表
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成這樣乙個結果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
**:1991,1992分組
--view code---------------------------------
create
table
date1105(
styear
int,
stmonth
int,
stamount
float)--
---------------------------------
bulk
insert date1105 from
'c:\users\administrator\desktop\分數.txt
'with
( fieldterminator='
\t', rowterminator='
\n')--
---------------------------------
select
styear,
(select stamount from date1105 m where stmonth=
1and m.styear=date1105.styear)as
m1,(
select stamount from date1105 m where stmonth=
2and m.styear=date1105.styear)as
m2,(
select stamount from date1105 m where stmonth=
3and m.styear=date1105.styear)as
m3,(
select stamount from date1105 m where stmonth=
4and m.styear=date1105.styear)as
m4from date1105 group
by styear
4.複製表結構,以及複製表:
--5.三種select改變列名的方法:-----------------------------
select
*from
date1105
--複製表結構,不複製資料
select
*into date1105_1 from date1105 where
1<>
1select
*from
date1105_1
drop
table
date1105_1
select styear a,stmonth b,stamount c into date1105_1 from
date1105
select
*from
date1105_1
-------------------------------
select sum(quantity) as 別名 from order_list
select sum(quantity) 別名 from order_list
select 別名1=sum(quantity),別名2=... from order_list
如果列的名字不確定的話,還可以用 case when then end 語句進行迴圈取列名的。
09 需要加強練習
有三個節點,node1是專用的master node2,node3是data ingest節點 ip node1 192.168.1.123,192.168.1.124,192.168.1.125 對單節點進行security操作,elastic的初始化密碼為elastic password 其餘賬...
20180515講解查詢加強練習03
use master gorestore database studentdb from disk d studentdb.bak gouse studentdb go 1所有學生的基本資訊,並按學號排序 select from 學生 order by 學號 2所有女生的資訊和女生的人數 selec...
SQL語句練習
建立一張表,記錄 呼叫員的工作流水,記錄呼叫員編號,對方號碼,通話開始時間,結束時間。建表,插資料等都自己寫出sql 要求 輸出所有資料中通話時間最長的5條記錄。輸出所有資料中撥打長途號碼 對方號碼以0開頭 的總時長 輸出本月通話時長最多的前三個呼叫員的編號 輸出本月撥打 次數最多的前三個呼叫員的編...