SQL语句整理1

//CASE 的用法,以及as SELECT CASE RegType WHEN 1 THEN ‘月卡‘
                    WHEN 0 THEN ‘周卡‘
                    WHEN 2 THEN ‘季度卡‘
                    WHEN 3 THEN ‘年卡‘
       ELSE ‘未知卡类型‘
       END AS ‘卡类型‘
FROM SL_Register_Info  

Left join用法

LEFT JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

在使用left join时,on和where条件的区别如下:

1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

扩展:right join ,full join,inner jion

full则具有left和right的特性的并集

inner jion没这个特殊性(返回交集,相当于where)

关键原因就是left join,right join,full join的特殊性,不管on上的条件是否为真都会返回left或right表中的记录,full则具有left和right的特性的并集。而inner jion没这个特殊性,则条件放在on中和where中,返回的结果集是相同的。

时间: 2024-12-22 07:24:58

SQL语句整理1的相关文章

个项目涉及到的50个Sql语句(整理版)

/*标题:一个项目涉及到的50个Sql语句(整理版)作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)时间:2010-05-10地点:重庆航天职业学院说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句.问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师

一个项目涉及到的50个Sql语句(整理版)

/* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句. */ --1.学生表Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C,Cname,T) --C --课程编号,Cname 课程名称,T 教师编号--3.教师表 Teacher(T,Tname) --T 教师编号,Tname 教师姓名 --4.成绩表

把工作这段期间sql server 中需要用的sql语句整理了一下

前些日子sql用到哪里写到哪里,乱七八糟,今天整理了一下,以作备份(虽然开通博客已经八个月了,但是今天还是第一次发表博文,好紧张啊~~) --2014.08.27号整理sql语句 1:进入数据库use [数据库名] eg: use [dev] 2:创建表create table 表名([ID] int identity(1,1) primary key,[列名] 数据类型 约束 ,)eg:create table atblTest1([ID] int identity(1,1) primary

疑难杂症 - SQL语句整理

一.关联子查询-查日期最新列 前天在工作中遇到一条非常有用的SQL语句,想了好久愣是没搞出来.今天将这个问题模拟出来:先看表 需求是,对于每个人,仅显示时间最新的那一条记录. 答案如下: select * from record as a where not exists (select null from record as b where a.Name = b.Name and a.CreateTime < b.CreateTime) 结果如下: 这个问题的关键难点在于,既要去除重复,又要显

Oracle数据库常用的Sql语句整理

查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : select * from user_tables; 3.创建表空间 :CREATE TABLESPACE invocie DATAFILE '/data/InvoiceData/invoicebak/invocie_01.dbf' Size 4096M AUTOEXTEND OFF: CREATE TABLESPACE "MIS_DA

MyBatis常用SQL语句整理笔记

最近使用Mybatis作为持久层框架,自然/动态sql写得也比较多了,最常见的就是在查询语句中使用if标签来动态地改变过滤条件. Mybatis强大特性之一就是它的动态sql,免除了拼接sql带来的各种麻烦. 在项目开发过程中,常见的和不常见的问题都有碰到过,所以在这总结一下. if choose(when,otherwise) trim(where,set) foreach 1.通常用于多条件组合查询 <select id="productId" parameterType=&

sql语句整理

(1) 数据记录筛选:sql="select * from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列.默认升序ASC)sql="select * from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"sql="sel

转:ibatis常用16条SQL语句

1.输入参数为单个值 <delete id="com.fashionfree.stat.accesslog.deleteMemberAccessLogsBefore" parameterClass="long"> delete from MemberAccessLog where accessTimestamp = #value# </delete> <delete id="com.fashionfree.stat.acces

整理的一些简单的sql语句

前几天整理了简单的sql语句,不太全,,会慢慢整理的. 有什么不对的地方,请指正,因为我也在用这些命令. 谢谢! create database 库名:创建数据库 show databases; 查看数据库 use 库名: 进入去数据库 show tables:查看表的数据 drop database 库名:删除数据库 create table epm[表名](ename[列名] varchar(10),sal[列名]date,aaa[列名]int(2)):创建表 desc 表名:查看表的内容