本文介紹SQL語句的基本用法
閱讀目錄
Student表和Score表的定義
Student表的定義
字段名 |
字段描述 |
數據類型 |
主鍵 |
外鍵 |
非空 |
唯一 |
自增 |
id |
自增列 |
INT(10) |
是 |
否 |
是 |
是 |
是 |
stu_id |
學號 |
INT(10) |
|
|
|
|
|
name |
姓名 |
VARCHAR(20) |
否 |
否 |
是 |
否 |
否 |
sex |
性別 |
VARCHAR(10) |
否 |
否 |
否 |
否 |
否 |
birth |
出生年份 |
Date |
否 |
否 |
否 |
否 |
否 |
department |
院系 |
VARCHAR(20) |
否 |
否 |
是 |
否 |
否 |
address |
家庭住址 |
VARCHAR(50) |
否 |
否 |
否 |
否 |
否 |
Score表的定義
字段名 |
字段描述 |
數據類型 |
主鍵 |
外鍵 |
非空 |
唯一 |
自增 |
id |
編號 |
INT(10) |
是 |
否 |
是 |
是 |
是 |
stu_id |
學號 |
INT(10) |
否 |
否 |
是 |
否 |
否 |
name |
課程名 |
VARCHAR(20) |
否 |
否 |
否 |
否 |
否 |
grade |
分數 |
INT(10) |
否 |
否 |
否 |
否 |
否 |
創建表的語句
CREATE TABLE [dbo].[Student]( [id] [int] IDENTITY(1,1) NOT NULL, [stu_id] [int] NULL, [name] [varchar](50) NULL, [sex] [varchar](4) NULL, [birth] [date] NULL, [department] [varchar](50) NULL, [address] [varchar](50) NULL ) ON [PRIMARY]
CREATE TABLE [dbo].[Score]( [id] [int] IDENTITY(1,1) NOT NULL, [stu_id] [int] NULL, [c_name] [varchar](50) NULL, [grade] [int] NULL ) ON [PRIMARY]
插入數據
INSERT INTO Student VALUES( 901,'張老大', '男','1985-09-13','計算機系', '北京市海淀區'); INSERT INTO Student VALUES( 902,'張老二', '男','1986-01-02','中文系', '北京市昌平區'); INSERT INTO Student VALUES( 903,'張三', '女','1990-12-13','中文系', '湖南省永州市'); INSERT INTO Student VALUES( 904,'李四', '男','1990-12-13','英語系', '遼寧省阜新市'); INSERT INTO Student VALUES( 905,'王五', '女','1991-08-17','英語系', '福建省廈門市'); INSERT INTO Student VALUES( 906,'王六', '男','1988-09-10','計算機系', '湖南省衡陽市'); INSERT INTO Score VALUES(901, '計算機',98); INSERT INTO Score VALUES(901, '英語', 80); INSERT INTO Score VALUES(902, '計算機',65); INSERT INTO Score VALUES(902, '中文',88); INSERT INTO Score VALUES(903, '中文',95); INSERT INTO Score VALUES(904, '計算機',70); INSERT INTO Score VALUES(904, '英語',92); INSERT INTO Score VALUES(905, '英語',94); INSERT INTO Score VALUES(906, '計算機',90); INSERT INTO Score VALUES(906, '英語',85);
查詢Student表中所有記錄
SELECT * FROM Student
* 是通配符, 意思是所有的列
查詢Student表中,所有學生的姓名和院系
SELECT name FROM Student
查詢Student表的信息,按照學生的年齡從大到小排序
ascent 升序
SELECT * FROM Student ORDER BY birth ASC
ORDER BY 關鍵字是排序
查詢Student表的信息,按照學生的年齡從小到大排序
descent 降序
SELECT * FROM Student ORDER BY birth DES
查詢Student表中, 叫王五的學生的信息
SELECT * FROM Student WHERE name='王五'
查詢Student表中,來自北京的學生
查詢Student表中,來自廈門的學生
查詢所有計算機系和英語系的學生的信息
SELECT * FROM Student WHERE department='英語系'or department='計算機系'
查詢所有計算機系和英語系和化學系的學生的信息
SELECT * FROM Student WHERE department IN ('英語系','計算機系','化學系')
查詢Student表中, 年齡排第二,第三,第四。 的三個人的信息
查詢每個院系有多少人
查詢李四的考試科目和考試成績
用連接的方式查詢所有學生的信息和考試信息
計算每個學生的總成績
計算每個考試科目的平均成績
查詢計算機成績低於95的學生信息
查詢同事參加計算機和英語考試的學生信息
將計算機考試成績按從高到低進行排序
查詢姓張的同學的姓名院系和考試科目及成績
查詢湖南的學生的姓名,年齡,院系和考試科目及成績