MySQL数据库查询
MySQL数据库查询
12、说明:使用外连接
A、 left ( outer ) join :
左外连接(左连接):包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).。
SQL: select * from student(表1) left join course(表2) on student.ID=course.ID
B: right ( outer ) join :
右外连接(右连接):包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。
select * from student right join course on student.ID=course.ID
C: full / cross ( outer ) join :
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
select * from student full join course on student.ID=course.ID
二、内连接 join 或 inner join
SQL语句:select * from student inner join course on student.ID=course.ID
执行结果:
![](https://img2018.cnblogs.com/blog/868136/201906/868136-20190611215449484-1126581560.png)
inner join 是比较运算符,只返回符合条件的行。
此时相当于:select * from student,course where student.ID=course.ID
13、分组:Group by:
一张表,一旦分组完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count , sum , max , min , avg 分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
在selecte统计函数中的字段,不能和普通的字段放在一起;
5、说明:删除新表
drop table 【表名】
6、说明:增加一个字段或列表
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
10、说明:几个简单的基本的sql语句
选择: select * from table1 where 范围
插入:INSERT INTO [表名] (字段1,字段2) values (value1,value2)
删除: delete from table1 where 范围
修改: update [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'
查找: select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序: select * from table1 order by field1,field2 [ desc ]
总数: select count as totalcount from table1
求和: select sum (field1) as sumvalue from table1
平均: select avg (field1) as avgvalue from table1
最大: select max (field1) as maxvalue from table1
最小: select min (field1) as minvalue from table1
Henry