http://www.jianshu.com/p/eeb6a898d4ec
前言
上一篇關系數據庫常用SQL語句語法大全主要是關系型數據庫大體結構,本文細說一下關系型數據庫查詢的SQL語法。

SQL數據查詢
語法回顧
SELECT [ALL|DISTINCT] <目標列表達式>[,<目標列表達式>]… FROM <表名或視圖名>[,<表名或視圖名>]… [WHERE <條件表達式>] [GROUP BY <列名> [HAVING <條件表達式>]] [ORDER BY <列名> [ASC|DESC]…]
SQL查詢語句的順序:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。SELECT、FROM是必須的,HAVING子句只能與GROUP BY搭配使用。
准備工作
1.創建數據庫和數據表
2.插入基本數據
3.本文以SQL Server為例介紹
-- 創建學生表 CREATE TABLE Students( Id int NOT NULL PRIMARY KEY, Name varchar(20) NOT NULL, Class varchar(15) NOT NULL, Gender varchar(10) NULL, Age int NULL, Phone varchar(15) NULL, [Address] varchar(100) NULL ) -- 創建課程表 CREATE TABLE Courses( Id int NOT NULL PRIMARY KEY IDENTITY(1,1), Name varchar(50) NOT NULL ); -- 創建成績表 CREATE TABLE Scores( Id int PRIMARY KEY IDENTITY(1,1), SId int NOT NULL, CId int NOT NULL, Grades decimal(5,2) NOT NULL, IsPassed bit NOT NULL ); -- 插入學生表基礎數據 INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016001,'小明','一班','男',20,'18817716611','北京'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016002,'小龍','一班','男',19,'18817716622','天津'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016003,'小王','二班','男',20,'18817716633','北京'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016004,'婷婷','一班','女',17,'18817716644','濟南'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016005,'張三','一班','男',19,'18817716655','北京'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016006,'小趙','一班','男',20,'18817716666','北京'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016007,'麗麗','二班','女',18,'18817716677','北京'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016008,'花花','一班','女',19,'18817716688','沈陽'); INSERT INTO Students (Id,Name,Class,Gender,Age,Phone,[Address]) VALUES(2016009,'靜靜','二班','女',20,'18817716699','北京'); -- 插入課程表基礎數據 INSERT INTO Courses(Name) VALUES('語文'); INSERT INTO Courses(Name) VALUES('數學'); INSERT INTO Courses(Name) VALUES('英語'); -- 插入成績表基礎數據 INSERT INTO Scores(SId,CId,Grades,IsPassed) VALUES(2016001,1,120,1); INSERT INTO Scores(SId,CId,Grades,IsPassed) VALUES(2016001,2,70,0); INSERT INTO Scores(SId,CId,Grades,IsPassed) VALUES(2016001,3,89,1); INSERT