目录
1.3 查询表中所有列,按照Id进行升序排序,按照Name进行降序排序
一、order by子句
select column_1,column_2,column_3 from table_name order by column_1 [asc || desc],column_2 [asc || desc]
通常order by语句是和select语句一起使用的,我们可以从某个表中查找指定的列,然后让oracle按照某个列或者某几个列升序或者降序的方式进行排列。下面是几个简单的例子:
1.1查询表中所有列,按照Id进行升序排序
select * from test order by u_id
1.2查询表中所有列,按照Name进行升序排序
select * from test order by u_name
1.3 查询表中所有列,按照Id进行升序排序,按照Name进行降序排序
select * from test order by u_id asc, u_name desc
二、distinct子句
select distinct column_1,column_2 from table_name
distinct子句是用来过滤结果集中重复的行的,确保select子句返回指定的一列或多列的值是唯一的。 注意,distinct关键字是满足所有的列组合在一起确保唯一性的。以下面这张表为例,给出几个简单的例子。
2.1查找该表中的name,并过滤
select distinct u_name from test
该SQL的执行结果为:
可以看出,它将多余的一个Tom过滤掉了。
2.2查找该表中的name和id,并过滤
select distinct u_id, u_name from test
该SQL的结果如下:
可以看出多余的Tom并没有被过滤掉,这是因为我们是要过滤两个列,当且仅当两个列的字段和其他行的字段都重复时,才会过滤掉。
2.3查找该表中的name和gender,并过滤
select distinct u_name,u_gender from test
该SQL的结果为:
可以看出,它过滤了一行多余的Tom,男。
三、where子句
select * from table_name where condition
update table_name set column_name = value where condition
delete from table_name where condition
where子句时条件查询子句,它设定一个条件,只有符合条件时,我们的SQL语句才会执行。它通常可以和select、update、delete搭配使用。
3.1 查询姓名为Tom的信息
select * from test where u_name = 'Tom'
3.2 把同名的Tom改名其他名字
update test set u_name = 'Jhon' where u_id = 2218;
update test set u_name = 'Jordan' where u_id = 2219;
3.3 删除id为2218这一行的信息
delete from test where u_id = 2218
四、and运算符
and是一个运算符,它组合了布尔表达式,如果所有的表达式都为真,则运算结果为真,否则结果为假。
五、or运算符
or和and相反,只要表达式中有一个为真,则运算结果为真,只有当表达式全为假时,运算结果才为假。