SQL之SELECT FROM

SQL之SELECT FROM

1.查看表student中所有的信息。

 SELECT *

 FROM student;

2.查看表student中"name"。

 SELECT name

 FROM student;

3.查看表student中"name","age"。

 SELECT name,age

 FROM student;

4.查看表student中name为Tom的"name","age"。

 SELECT name,age

 FROM student

 WHERE name='Tom';

5.查看表student中name含o的学生的"name","age"。

  SELECT name,age

 FROM student

 WHERE name LIKE '%o%';

6.查看表student中name以m结尾的学生的"name","age"。

  SELECT name,age

FROM student

WHERE name LIKE '%m';

7.查看表student中name以L开头的学生的"name","age"。

  SELECT name,age

FROM student

WHERE name LIKE 'L%';

8.查看表student中id在5-10之间的学生的"name","age"。

   方法一:SELECT id,name,age FROM student WHERE number BETEEN 5 AND 10;

   方法二:SELECT id,name,age FROM student WHERE number >= 5 AND number <= 10;

9.按age从高到低显示学生信息。

  SELECT *

FROM student

ORDER BY age DESC;

10.按age从低到高显示学生信息。

  SELECT *

FROM student

ORDER BY age ASC;

   #上面语句中的ASC可以省略,也是按升序显示。

11.使用列的别名进行排序。

   SELECT name,age a

   FROM student

   ORDER BY a DESC;

12.多级排序。

   SELECT id,name,age

   FROM student

   ORDER BY age DESC,id ASC;

13.分页显示,每页显示5(pageSize)条记录,此时显示第3(pageNo)页。

   SELECT name,age

   FROM student

   LIMIT 10,5 ;

 #LIMIT (pageNo-1)*pageSize,pagesize;

14.表里有15条记录,只显示12、13两条记录。

   SELECT name,age

   FROM student

   LIMIT 2 OFFSET 11 ;

15.多表联查(内连接)。

   SELECT s.name,s.age,c.classmessage

   FROM student s,classmessage c

   WHERE s.class_id = c.class_id

   #如果有n个表实现多表联查,那么至少得有n-1个连接条件。

   #内连接(合并具有同一列的两个以上的表的行,结果集中包含一个表和另一个表不匹配的行)

 

16.多表联查(内连接)。

  SELECT s.name,s.age,c.classmessage,c.class_id  

   FROM student s

   JOIN classmessage c

   ON s.class_id = c.class_id

17.左连接。

   SELECT s.name,s.age,c.classmessage,c.class_id

   FROM student s

   LEFT JOIN classmessage c

   ON s.class_id = c.class_id

18.右连接。

   SELECT s.name,s.age,c.classmessage,c.class_id

   FROM student s

   RIGHT JOIN classmessage c

   ON s.class_id = c.class_id

19.满连接,UNION ALL

SELECT s.name,s.age,c.classmessage,s.class_id   

FROM student s

LEFT JOIN classmessage c

ON s.class_id = c.class_id

WHERE s.class_id IS NULL

UNION ALL

SELECT s.name,s.age,c.classmessage,s.class_id   

FROM student s

RIGHT JOIN classmessage c

ON s.class_id = c.class_id;

20.自然连接

SELECT s.name,s.age,c.classmessage,s.class_id   

FROM student s

NATURAL JOIN classmessage c;

#NATURAL JOIN,他会帮你自动查询两张连接表中‘所有相同的字段’,然后进行‘等值连接’。

21.using

SELECT s.name,s.age,c.classmessage,s.class_id   

FROM student s

JOIN classmessage c

USING( class_id);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值