sql语句的基本用法

转载自http://www.cnblogs.com/TankXiao/p/5480548.html

Student表和Score表的定义

这里写图片描述

创建表的语句

CREATE TABLE [bdo].[student]{
    [id] [int] IDENTITY(1,1) NOT NULL,   
    //使用 IDENTITY 关键字来执行 auto-increment 任务
    //(1,1)表示从1开始,每次递增1
    [stu_id] [int] NULL,
    [name] [verchar] (20) NULL,
    [sex] [varchar] (10) NULL,
    [birth] [data] NULL,
    [department] [varchar](20) NULL,
    [address] [varchar](50) NULL
}ON [PRIMARY]
CREATE TABLE [dbo].[Score](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [stu_id] [int](10) NULL,
    [c_name] [varchar](20) NULL,
    [grade] [int](10) 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);

1、查询Student表中所有记录
SELECT * FROM Student
* 是通配符, 意思是所有的列

2、查询Student表中,所有学生的姓名和院系
SELECT name,epartment FROM Student

3、查询Student表的信息,按照学生的年龄从大到小排序

SELECT * FROM Student ORDER BY birth ASC
ORDER BY 关键字是排序

4、查询Student表的信息,按照学生的年龄从小到大排序
descent 降序

SELECT * FROM Student ORDER BY birth DES

5、查询Student表中, 叫王五的学生的信息

SELECT * FROM Student WHERE name=’王五’

6、查询Student表中,来自北京的学生

SELECT * FROM Student WHERE adress LIKE ‘%北京%’

  • ‘A_Z’: 所有以 ‘A’ 起头,另一个任何值的字原,且以 ‘Z’ 为结尾的字串。 ‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。
  • ‘ABC%’: 所有以 ‘ABC’ 起头的字串。举例来说,’ABCD’ 和 ‘ABCABC’ 都符合这个套式。
  • ‘%XYZ’: 所有以 ‘XYZ’ 结尾的字串。举例来说,’WXYZ’ 和 ‘ZZXYZ’ 都符合这个套式。
  • ‘%AN%’: 所有含有 ‘AN’ 这个套式的字串。举例来说, ‘LOS ANGELES’ 和 ‘SAN FRANCISCO’ 都符合这个套式。

7、查询所有计算机系和英语系的学生的信息
SELECT * FROM Student WHERE department=’英语系’or department=’计算机系’

8、查询所有计算机系和英语系和化学系的学生的信息
SELECT * FROM Student WHERE department IN (’英语系’,’计算机系’,’化学系’)

9、查询Student表中, 年龄从大到小排第二,第三,第四的三个人的信息

select * from STUDENT order by desc OFFSET 10 ROW FETCH NEXT 5 ROWS ONLY

查询每个院系有多少人

查询李四的考试科目和考试成绩

seleect name,grade from select id from student where name=’李四’

用连接的方式查询所有学生的信息和考试信息

计算每个学生的总成绩

计算每个考试科目的平均成绩

查询计算机成绩低于95的学生信息

查询同事参加计算机和英语考试的学生信息

将计算机考试成绩按从高到低进行排序

查询姓张的同学的姓名院系和考试科目及成绩

查询湖南的学生的姓名,年龄,院系和考试科目及成绩

猜你喜欢

转载自blog.csdn.net/jq656021898/article/details/78481944