在我第N次忘记如何查看表结构后,在网上查了一下后,看到有好几种查看表结构的方式,总结一下。
创新互联公司主要从事成都做网站、网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务丰泽,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
以student(sid,sname,birthday,sex)的查看为例。
【方式一】:desc student;
语法:desc 表名;---------------------用于查看表整体结构
【方式二】:describe student;
语法:describe 表名;---------------------用于查看表整体结构;
【方式三】:show columns from student;
语法:show columns from 表名;--------------------------用于查看表整体结构;
【方式四】:show create table student;
语法:show create table 表名;--------------------------用于查看表整体结构;
【方式五】:show full fields from student;
语法:show full fields from 表名;--------------------------------- 用于查看表整体结构;
【方式六】:show fields from student;
语法:show fields from 表名;----------------------------用于查看表整体结构;
【方式七】:desc student sname;
语法:desc 表名 成员名;--------------------------------用于查询表中的一部分;
【方式八】:show index from student;
语法:show index from 表名;------------------------------------用于查看表局部结构;这种显示不是很直观,也不是可以完全显示所有信息。
第一题:要避免有相同行的出现,不能用count(*)=2
select distinct sid from table1 a where hid=1 and exists (select sid from table1 b where hid=2 and a.sid=b.sid )
第二题:一定要弄清楚where后面的“或”是和谁一起的,否则可能会有想不到多少的结果出现
1.(“跳舞”和“游泳”)或者唱歌
select sid from table1 a where hid=1 and exists (select sid from table1 b where hid=4 and a.sid=b.sid )
union
select sid from table_5 where hid=2
2. “跳舞”和(“游泳”或者唱歌)
select distinct sid from table1 where hid in (4,2) and exists (select sid from table1 where hid=1)
加一点:
表应该这样设计:
table1
sid hid
1 1
1 2
1 3
1 4
2 1
2 2
2 4
3 1
3 4
4 1
4 2
table2
hid hname
1 跳舞
2 唱歌
3 足球
4 游泳
----------------------------
没有测试,可能有错哦
select *
from B
left join A on A.uid = B.uid
where B.sid = "1"
其中*号最好不要用,自己把表里的字段一一列举
用下面的语句试试:
select distinct sid,snabbe,sage from students ;
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,点击左上角“新建查询”选项。
3、接着在该界面中,输入查询学生平均成绩及其名次的sql语句“select name,AVG(grade),no from test2 group by name,no”。
4、然后在该界面中,点击左上方“执行”按钮。
5、最后在该界面中,显示学生平均成绩及其名次成功。
一种是关联,其中xxx和yyy你自己替换吧
select c.* from student a,lecture b,record c where a.id=c.sid and b.id=c.lid and a.name='xxx' and b.name='yyy'
另一种是嵌套
select * from record where sid in(select sid from student where name='xxx') and lid in (select lid from lecture where name='yyy')