sql基础学习

发布 2021-05-02 03:20:28 阅读 5474

一、基本关键字。

1、join(取交集):a a **join b b on **连接ab两个表,并且显示两个表中所有满足on条件的。

不同种类的连接:

inner join (内连接):自然连接。

join:如果表中有至少一个匹配,则返回所有的行。(inner join与join是相同的)

left join(左连接):返回左表中的所有的行,即使右表中没有匹配的行。

right join(右连接):返回右表中的所有的行,即使左表中没有匹配的行。

full join(全连接):只要其中一个表中存在匹配,就返回行(左表右表都显示出来)。

例: from persons inner join orders on

2、distinct:用于返回唯一不同的值,语法:select distinct 列名称 from 表名称,例:select distinct company from order

3、where:用于子句规定选择的标准,语法:select 列名称 from 表名称 where 列运算符值,操作符:=,between,like,and,or;

例:select * from persons where city='beijing'

4、引号的使用请注意,我们在例子中的条件值周围使用的是单引号。 sql使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

如果是数值,请不要使用引号。

5、order by:语句用于对结果集进行排序。(默认是升序,降序加关键字desc),例1:

select company,ordernumber from orders order by company(desc),例2:以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

select company,ordernumber from orders order by company desc,ordernumber asc

6、insert into:向**中插入新的行,语法:insert into 表名称 values(值1,值2。。。添加所有列的值。

语法:insert into table_name(列1,列2,。。values(值1,值2。。。添加指定列的值。

7、update:用于修改表中的数据。

语法:update 表名称 set (列名称1=新值1,列名称2=新值2,。。where 列名称=某值,例:

update person set address='zhongshan23',city='nanjing' where lastname='wilson',8、delete:语句用于删除表中的行。

语法:delete from 表名称 where 列名称=值,例:delete from table_name或者:delete*from table_name (删除所有行)

9、top:用于规定返回的记录的数目。

语法:select top number|percent column_name(s) from table_name

例1:从"persons"表中选取头两条记录。select top 2 * from persons。

例2:从"persons"表中选取50%的记录。select top 50 percent * from persons

10、like:用于在where子句中搜索列中的指定模式。

语法:select column_name(s) from table_name where column_name like pattern

例1:从"persons"表中选取居住在以"n"开始的城市里的人:select * from persons where city like ‘n%’

"%"可用于定义通配符(模式中缺少的字母)

例2:从"persons"表中选取居住在不包含"lon"的城市里的人:select * from persons where city not like ‘%lon’

11、sql通配符:%(替代一个或多个字符),_仅替代一个字符),[charlist](在字符列中的任何单一字符),[charlist](不在字符列中的任何单一字符)

例:从"persons"表中选取居住的城市以"a"或"l"或"n"开头的人:select * from personswherecitylike'[aln]%'

12、in:允许我们在where子句中规定多个值。

语法:select column_name(s) from table_name where column_name in (value1,valuwe2。。。

例:从表中选取姓氏为adams和carter的人:select * from persons where lastname in ('adams','carter')

13、between:用在where子句中使用,作用是选取介于两个值之间的数据范围。

语法:select column_name(s) from table_name where column_name between value1 and value2

例:以字母顺序显示介于"adams"(包括)和"carter"(不包括)之间的人:select * from persons where lastname between ’adams' and 'carter'

14、as:可以为列名和表名指定别名(alias)

语法:select column_name(s)from table_name as alias_name(更该表名)

语法:select column_name(s)as alias_name from table_name (更改列名)

例:假设我们有两个表分别是:"persons"和"product_orders"。

我们分别为它们指定别名"p"和"po"。 现在,我们希望列出"johnadams"的所有定单。

select from persons as p,product_orders as po where 'adams' and 'john'

15、join(交集):用于根据两个或多个表中的列之间的关系,从这些表中查询数据。):用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

16、union(并集):用于合并两个或多个select语句的结果集。

注意:union内部的select语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条select语句中的列的顺序必须相同。

默认地,union操作符选取不同的值。如果允许重复的值,请使用unionall。

例:select column_name(s) from table_name1

union(all)

select column_name(s) from able_name2

17、into(sql):用于创建表的备份复件,从一个表中选取数据,然后把数据插入另一个表中。

语法:select * into new_table_name [inexternaldatabase] from old_tablename

例:从"persons"表中提取居住在"beijing"的人的信息,创建了一个带有两个列的名为"persons_backup"的表:

select lastname,firstname into persons_backup from persons where city='beijing'

create table as select * from table_name

18、create database:创建数据库。

语法:create database database_name

19、create table:创建表。

语法:create table table_name(

列名称1,数据类型,列名称2,数据类型,20、unique:

①创建表时的unique约束:create table persons(

id_pint not null unique,lastname varchar(255) notnull,firstname varchar(255),address varchar(255),city varchar(255)

②需要命名unique约束,以及为多个列定义unique约束:

create table persons(

id_pint not null,

lastname varchar(255) not null,firstnamevarchar (255),address varchar(255),city varchar(255),

constraint uc_personid unique (id_p,lastname)

③当表已被创建时,如需在"id_p"列创建unique约束:

alter table persons add unique(id_p)

④如需命名unique约束,并定义多个列的unique约束:

alter table persons add constraint uc_personid unique(id_p,lastname)

⑤撤销unique:

table persons drop constraint uc_personid

21、primary key(主键):每个表都应该有一个主键,并且每个表只能有一个主键。

①在"persons"表创建时在"id_p"列创建primarykey约束:

create table persons(

SQL基础学习笔记

选择bank card表中的所有列数据。select from bank card 对列内容进行筛选。select from bank card where bank name 农业银行 选择部分列并指定它们的显示次序。select bank card name,bank name from ban...

SQL基础

单行函数 single row sql functions 每行返回一个结果。dual是一个公共表,可用它做些计算或返回函数处理结果。null参与运算会返回空值。字符函数 大小写类 lower upper initcap 驼峰型 字符处理类 concat substr length instr lp...

SQL基础语法

简单查询。范例 要求显示每一个雇员的姓名 职务 基本年薪。但是这个时候显示列出现了一个 sal 12 这个列名不方便浏览,可以起一个别名。简单查询中也可以使用 连接查询字段。范例 观察 的使用。由于 属于原样输出的字符串,所以必须使用 括起来,即 在sql语句之中,表示的是字符串。范例 要求现在的数...