SQL面试题
1、两表,一张有上百万的数据(表A),另一张只有一万多条数据(表B),A表的外键关联到B表的主键上。
问下面两条SQL语句,那条性能更高?
(1)SELECT A.ID, B.ID from A, B WHERE A.FID = B.ID
(2)SELECT A.ID, B.ID from B, A WHERE A.FID = B.ID
相关文档:
这里使用的数据库和数据表分别来自Sql语句学习笔记(1)——创建数据库和Sql语句学习笔记(2)——创建数据表
use RetalDB
/********************
单表查询
*********************/
--查询tb_user中的数据:无条件查询
--(1)
select * from tb_user--查询所有信息
--(2)
select top 2 * from ......
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varch ......
最近遇到一个问题,在操作SQL更新账户余额时,常常发现更新后的余额与实际的不相符,马上想到了是不是存在并发更新,一查果然如此。之前也曾遇到过这样的问题,当时没太在意,现在是解决的时候了。用Mysql模拟了一下这个过程:创建两张表,paralltable和parallalter,每次根据paratable表更新parallalte ......
说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。
问题及描述:
--1.学生表
Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表
Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号
--3.教师表
Teacher(T#,Tname) -- ......
这些函数在系统函数可以找到。下面是我练习时写的代码,包含了常用的字符串操作函数
/*********************************
常用字符串函数:sql中没有数组这一说
*********************************/
--int charindex('要找的字符串','源字符串',开始位置),获取字符串中指定字符串的位置
declare @str varchar(50)
set ......